この記事では、PHP で背景が透明な PNG サムネイルを生成するプログラムを紹介しています。PHP でこれを処理するには、imagealphablending($thumb,false) と imageavealpha($thumb,true); を使用するだけです。以上です。以下のプログラムをご覧ください。
PNGサムネイルを生成すると背景が黒くなるのを補う関数を今日は書きました。コードは非常に単純です。つまり、imagealphablending($thumb,false); と imageavealpha($thumb,true); が重要なのは、PNG のアルファ値を保存し、それを失わないことです。
コードは次のとおりです | コードをコピー |
/* *$sourePic: 元の画像のパス * $smallFileName: 小さな画像の名前 * $width: 小さい画像幅 * $heigh: 小さな画像の高さ * www.hzhuti.com と明記してください */ function pngthumb($sourePic,$smallFileName,$width,$heigh){ $image=imagecreatefrompng($sourePic);//PNG Imagesavealpha($image,true);//これは非常に重要です。$sourePic 画像の透明な色を失わないことを意味します; $BigWidth=imagesx($image);//画像の幅が広い $BigHeigh=imagesy($image);//大きな画像の高さ $thumb = imagecreatetruecolor($width,$heigh); Imagealphablending($thumb,false);//これは非常に重要です。これは、色が結合されず、透明色を含む $img 画像の色に直接置き換えられることを意味します; Imagesavealpha($thumb,true);//これは非常に重要です。$thumb 画像の透明な色を失わないことを意味します; If(imagecopyresampled($thumb,$image,0,0,0,0,$width,$heigh,$BigWidth,$BigHeigh)){ Imagepng($thumb,$smallFileName);} Return $smallFileName;//小さい画像パスに戻る } pngthumb("a.png", "c.png", 300, 300);// に電話する ?> |
私たちは全員、PHP に付属の機能を使用しており、サードパーティのプログラムは使用していません。必要な友達は見てください。