1

PNG 画像を回転し、回転していないときと同じ品質を維持するのに問題があります。透明感も失われています。

回転に使用しているコードは次のとおりです。

$source = imagecreatefrompng('cake-test.png');
$col = imagecolorexact($source, 255, 255, 255);
imagecolortransparent($source, $col) ;
$rotate = imagerotate($source, 10, 0);

imagepng($rotate, 'temp.png') ;

作成された画像は、エッジの周りがすべてエイリアシングされて見え、透明度がありません。誰かがそれを機能させる方法や、共有したい機能を持っていることを知っていますか?


ありがとう!画像が入っていたdivに背景を設定しましたが、今ではうまく見えます。

4

1 に答える 1

2

でアルファ チャネルを割り当て、trueimagecolorallocatealphaに設定する必要があります。imagesavealphaこれを試して:

 $source  = imagecreatefrompng('cake-test.png');
 $bgColor = imagecolorallocatealpha($source, 255, 255, 255, 127);
 $rotate  = imagerotate($source, 10, $bgColor);
 imagesavealpha($rotate, true);

 imagepng($rotate, 'temp.png') ;
于 2012-09-01T08:20:39.903 に答える