ecshop バックグラウンドで商品アルバムを追加すると、bmp 形式のサムネイルが生成されません ecshop バックグラウンドで画像商品アルバムを一括生成すると、bmp 形式のサムネイルが生成されません。私が達成したい効果は、bmp 形式で画像を生成できるようにすることです。 ecショップ bmp 共有先: ------解決策----------------------ecshop 自体は、bmp 画像からのサムネイルの生成をサポートしていません。まず gif/jpg/png のいずれかに変換する必要があります -----解決策--------- ImageCreateFromBMP.php をダウンロードできます それからプログラムを変更してください -----解決策--------- 引用: 引用: 引用: ecshop 自体は、bmp 画像の生成サムネイルをサポートしていません。まず gif/jpg/png のいずれかに変換する必要があります 私が望むのは、ecshop がこの種の生成された図をサポートすることです。何をするか? include/cls_image.php は ecshop の画像処理ライブラリです。ImageCreateFromBMP 関数を使用して自分で拡張できます。 関数 ImageCreateFromBMP( $filename ) { // フィシエ アン モード ビネールの序曲 if ( ! $f1 = @fopen ($filename, "rb")) FALSE を返します ; // 1 : Chargement des ent?tes FICHIER $FILE = unpack ( "vfile_type/Vfile_size/Vreserved/Vbitmap_offset" , fread($f1 ,14)); if ( $FILE ['file_type'] != 19778 ) を返します。 // 2 : 料金設定 BMP $BMP = unpack ( 'Vheader_size/Vwidth/Vheight/vplanes/vbits_per_pixel' . '/Vcompression/Vsize_bitmap/Vhoriz_resolution' '/Vvert_resolution/Vcolors_used/Vcolors_ important' , fread ( $f1 , 40 )); $BMP [ 'colors' ] = pow ( 2 , $BMP['bits_per_pixel ' ]); if ( $BMP ['size_bitmap'] == 0 ) $BMP ['size_bitmap']=$FILE ['file_size']-$FILE ['bitmap_offset']; $BMP ['ピクセルあたりのバイト数'] = $BMP ['ピクセルあたりのビット数'] / 8 ; $BMP ['bytes_per_pixel2'] = ceil ( $BMP ['bytes_per_pixel']); $BMP ['decal'] = ( $BMP ['width']*$BMP ['bytes_per_pixel'] / 4 ); $BMP ['decal'] -= 床 ( $BMP ['width'] * $BMP ['bytes_per_pixel'] / 4 ); $BMP ['デカール'] = 4 - ( 4 * $BMP ['デカール']); if ( $BMP ['decal'] == 4 ) $BMP ['decal'] = 0 ; // 3 : パレットのカラーバリエーション $パレット = 配列 if ( $BMP ['colors'] $PALETTE = unpack ( 'V' . $BMP ['colors'] , fread ( $f1 , $BMP ['colors'] * 4 )); } // 4 : 画像の作成 $IMG = fread ( $f1 , $BMP ['size_bitmap']); $VIDE = chr ( 0 ); $res = imagecreatetruecolor( $BMP ['width'] , $BMP ['height']); $P = 0 $Y = $BMP ['高さ'] - 1 ; while ( $Y >= 0 ){ $X = 0 while ( $X if ( $BMP ['bits_per_pixel'] == 24 ) $COLOR = @unpack ( "V" , substr($IMG,$P,3).$VIDE ); elseif ( $BMP['bits_per_pixel']== 16 ){ $COLOR = unpack ( "n" , substr ( $IMG , $P , 2 )); $COLOR [1] = $パレット [ $COLOR [ 1 ] 1 ]; }elseif ( $BMP['bits_per_pixel']== 8 ){ $COLOR = unpack ( "n" , $VIDE . substr ( $IMG , $P , 1 )); $COLOR [1] = $パレット [ $COLOR [ 1 ] 1 ]; }elseif ( $BMP['bits_per_pixel']== 4 ){ $COLOR = unpack ( "n" , $VIDE . substr ( $IMG , Floor ( $P ) , 1 ));if (( $P * 2 ) % 2 == 0 ) $COLOR [1] = ( $COLOR [1] >>4 ) ; それ以外 $COLOR [1] = ( $COLOR [1] & 0x0F ); $COLOR [1] = $パレット [ $COLOR [1] 1 ]; }elseif ( $BMP['bits_per_pixel']== 1 ){ $COLOR = unpack ( "n" , $VIDE . substr ( $IMG , floor ( $P ) , 1 )); if (( $P * 8 ) % 8 == 0 ) $COLOR [ 1 ] = $COLOR [ 1 ] >> 7; ログイン後にコピー