phpのbmpをjpgに変換する実装方法

藏色散人
リリース: 2023-03-03 19:16:02
オリジナル
1509 人が閲覧しました

php bmp から jpg への実装方法: 最初に gd 拡張ライブラリを開き、次に「function_exist()」関数「ImageCreateFromBMP」を使用してそれが存在するかどうかを確認し、最後に「ImageCreateFromBMP_private」メソッドを使用して変換を実現します。

phpのbmpをjpgに変換する実装方法

推奨: 「PHP ビデオ チュートリアル

画像形式を変換する前に、まず phpinfo() を出力して表示します。 php ライブラリ情報で、gd 拡張ライブラリがオンになっているかどうかを確認します。オンになっていない場合は、php.ini ファイルを開き、検索ツールを使用して extension=php_gd2.dll を見つけ、[;] を入力します。 extension=php_gd2.dll の前に追加するだけです

jpg 形式に変換するには JPEG サポートが必要で、png には PNG サポートが必要です。同様に、変換する形式がサポートされているかどうかを最初に確認してください

##imagejpeg() 関数の失敗は、フォルダーのアクセス許可の問題が原因である可能性があります。より注意してください。

最初に function_exist() を使用できます。 ImageCreateFromBMP 関数を使用して、存在するかどうかを確認します。次の例の ImageCreateFromBMP_private は、ImageCreateFromBMP メソッドを置き換えるために使用されます

サンプル コードは次のとおりです:


= 0) { $X = 0; while ($X < $BMP['width']) { switch ($BMP['bits_per_pixel']) { case 32: $COLOR = unpack("V", substr($IMG, $P, 3) . $VIDE); break; case 24: $COLOR = unpack("V", substr($IMG, $P, 3) . $VIDE); break; case 16: $COLOR = unpack("n", substr($IMG, $P, 2)); $COLOR[1] = $PALETTE[$COLOR[1] + 1]; break; case 8: $COLOR = unpack("n", $VIDE . substr($IMG, $P, 1)); $COLOR[1] = $PALETTE[$COLOR[1] + 1]; break; case 4: $COLOR = unpack("n", $VIDE . substr($IMG, floor($P), 1)); if (($P * 2) % 2 == 0) $COLOR[1] = ($COLOR[1] >> 4); else $COLOR[1] = ($COLOR[1] & 0x0F); $COLOR[1] = $PALETTE[$COLOR[1] + 1]; break; case 1: $COLOR = unpack("n", $VIDE . substr($IMG, floor($P), 1)); if (($P * 8) % 8 == 0) $COLOR[1] = $COLOR[1] >> 7; elseif (($P * 8) % 8 == 1) $COLOR[1] = ($COLOR[1] & 0x40) >> 6; elseif (($P * 8) % 8 == 2) $COLOR[1] = ($COLOR[1] & 0x20) >> 5; elseif (($P * 8) % 8 == 3) $COLOR[1] = ($COLOR[1] & 0x10) >> 4; elseif (($P * 8) % 8 == 4) $COLOR[1] = ($COLOR[1] & 0x8) >> 3; elseif (($P * 8) % 8 == 5) $COLOR[1] = ($COLOR[1] & 0x4) >> 2; elseif (($P * 8) % 8 == 6) $COLOR[1] = ($COLOR[1] & 0x2) >> 1; elseif (($P * 8) % 8 == 7) $COLOR[1] = ($COLOR[1] & 0x1); $COLOR[1] = $PALETTE[$COLOR[1] + 1]; break; default: return false; break; } imagesetpixel($res, $X, $Y, $COLOR[1]); $X++; $P += $BMP['bytes_per_pixel']; } $Y--; $P+=$BMP['decal']; } fclose($f1); return $res; }function changeBMPtoJPG($srcPathName){ $srcFile=$srcPathName; $dstFile = str_replace('.bmp', '.jpg', $srcPathName); $photoSize = GetImageSize($srcFile); $pw = $photoSize[0]; $ph = $photoSize[1]; $dstImage = ImageCreateTrueColor($pw, $ph); $white = imagecolorallocate($dstImage, 255, 255, 255); //用 $white 颜色填充图像 imagefill( $dstImage, 0, 0, $white); //读取图片 $srcImage = ImageCreateFromBMP_private($srcFile); //合拼图片 imagecopyresampled($dstImage, $srcImage, 0, 0, 0, 0, $pw, $ph, $pw, $ph); $judge = imagejpeg($dstImage, $dstFile, 90); imagedestroy($dstImage); if($judge){ return $dstFile; }else{ return false; } }?>
ログイン後にコピー

以上がphpのbmpをjpgに変換する実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!