ホームページ >バックエンド開発 >PHPチュートリアル >PHP GDlib で PNG のサイズを変更するときに透明度を維持するにはどうすればよいですか?
PHP GDlib を使用してサイズ変更された PNG の透明度を維持する
PHP の GDlib を使用して PNG 画像をリサンプリングすると、透明な領域が失われるという問題がよく発生します。元の画像の部分は単色で塗りつぶされます。これは、imagesavealpha() 関数が使用されている場合でも発生します。
リサンプリングされた画像で透明度が確実に保持されるようにするには、次の追加手順を実行する必要があります。
コード例:
以下は修正されましたコードは、修正されたアプローチを示しています。
$uploadTempFile = $myField['tmp_name']; list($uploadWidth, $uploadHeight, $uploadType) = getimagesize($uploadTempFile); $srcImage = imagecreatefrompng($uploadTempFile); $targetImage = imagecreatetruecolor(128, 128); imagealphablending($targetImage, false); imagesavealpha($targetImage, true); imagecopyresampled($targetImage, $srcImage, 0, 0, 0, 0, 128, 128, $uploadWidth, $uploadHeight); imagepng($targetImage, 'out.png', 9);
これらの追加の手順を組み込むことで、サイズ変更された PNG 画像は維持されるため、ロゴや背景画像などの透明な要素を保存できます。
以上がPHP GDlib で PNG のサイズを変更するときに透明度を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。