2

Image Magickを使用して画像を回転させています(PHP-GDが画像を縮小するため)。

ただし、背景は黒のままです。また、画像はまったく見栄えがよくありません(ただし、PHP-GDよりは優れています)。

助言がありますか?

@ore​​n 、 @razzed ここにコードがあります

$patchImageS = 'kapeels.png'; // 最終 bg にパッチされる画像
$imagick = 新しい Imagick(); $imagick->readImage($patchImageS);
$imagick->rotateImage(新しい ImagickPixel(), 355);
$imagick->transparentPaintImage('black', 0.0,0,false);
header('content-type:image/png');
$fp=fopen('tts.png','w+');
fwrite($fp,$imagick->getImage());
fclose($fp);

そして、これは私が回転させようとしている画像です -

http://www.lilpirate.net/kapeels.png

返信ありがとうございます:-)

4

2 に答える 2

1

次のように画像を回転します。

$im = new Imagick('kapeels.png'); 
$im->rotateImage( new ImagickPixel('none'), 7 ); 
$im->trimImage ( 0 ); 
$im->resetImagePage( '216x174+0+0' ); 
$im->writeImage('rotateImage.png');  
$im->destroy(); 

画像をキャンバスの中央に戻すには再ページングが必要ですが、Imagemagick は値を使用しないため、なぜ値が必要なのかわかりません。値の自動設定について考えることができる唯一の方法は、トリミング後に画像サイズを取得し、それをリセットで使用することです。

私が提案できるのは、より大きな画像から始めて、回転後に縮小し、それが役立つかどうかを確認することだけです。おそらくいくつかのシャープを使用します。しかし、線が非常に細く、互いに接近しているため、あまり役に立たないと思います.

于 2012-06-23T10:41:01.947 に答える
1

Imagick オブジェクトを作成した後、引数で背景を透明に設定します。

$imagick->newimage($width, $height, "rgba(0, 0, 0, 0)");
于 2010-07-09T12:38:41.240 に答える