ホームページ  >  記事  >  バックエンド開発  >  PNG 画像を拡大縮小するときに透明性を維持するための PHP コード

PNG 画像を拡大縮小するときに透明性を維持するための PHP コード

WBOY
WBOYオリジナル
2016-07-25 08:43:53985ブラウズ
Webサイトを構築する際には、通常、画像を適切なサイズに縮小する必要があります。png画像に透明色がある場合、jpg形式で縮小すると、透明色になります。失われます。では、透明な色を維持するにはどのように対処すればよいのでしょうか?

gd ライブラリの主に 2 つのメソッドを使用します。

imagecolorallocatealpha カラー + アルファを割り当てます
imagesavealpha は、PNG 画像を保存するときに完全なアルファ チャネル情報を保存するように設定されています
  1. //ソース画像の gd 画像識別子を取得します
  2. $srcImg = imagecreatefrompng('./src.png');
  3. $srcWidth = imagex($ srcImg );
  4. $srcHeight = imagey($srcImg);
  5. //新しい画像を作成します
  6. $newWidth =round($srcWidth / 2);
  7. $newHeight =round($srcHeight / 2);
  8. $newImg = imagecreatetruecolor ($ newWidth, $newHeight);
  9. //カラー + アルファを割り当て、新しい画像にカラーを塗りつぶします
  10. $alpha = imagecolorallocatealpha($newImg, 0, 0, 0, 127);
  11. imagefill($newImg, 0, 0 , $ alpha);
  12. //ソース画像を新しい画像にコピーし、PNG 画像を保存するときに完全なアルファ チャネル情報を保存するように設定します
  13. imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newWidth, $ newHeight, $srcWidth, $srcHeight);
  14. imagesavealpha($newImg, true);
  15. imagepng($newImg, './dst.png');
コードをコピー

php、png


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。