Я перемещаю код из PHP GD в ImageMagick
Пример кода GD:
$base_image=imagecreatetruecolor ( 350, 350 );
$white = imagecolorallocatealpha($base_image, 255, 255, 255, 100);
imagefill($base_image , 0, 0, $white);
imagealphablending($base_image, true);
imagesavealpha($base_image, true);$black = imagecolorallocatealpha ($base_image, 0,0,0, 1);
imagettftext($base_image, 13, 0, 20, 30, $black, './arial.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, 60, $black, './arib____.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, 90, $black, './verdana.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, 120, $black, './trebuc.ttf', "Hello World!");
imagettftext($base_image, 13, 0, 20, 150, $black, './georgia.ttf', "Hello World!");header("Content-Type: image/png");
imagepng($base_image);
Образец кода ImageMAgic:
$canvas = new Imagick();
$canvas->newImage(350, 350, "white");
$draw = new ImagickDraw();$draw->setTextAntialias(true);
$draw->setStrokeWidth ( 2);
$draw->setFontSize(13*96/72);$draw->setFont('./arial.ttf');
$draw->annotation(20, 30, "Hello World!");
$draw->setFont('./arib____.ttf');
$draw->annotation(20, 60, "Hello World!");
$draw->setFont('./verdana.ttf');
$draw->annotation(20, 90, "Hello World!");
$draw->setFont('./trebuc.ttf');
$draw->annotation(20, 120, "Hello World!");
$draw->setFont('./georgia.ttf');
$draw->annotation(20, 150, "Hello World!");$canvas->drawImage($draw);
$canvas->setImageFormat('png');
header("Content-Type: image/png");
echo $canvas;
Результат в ImageMagic — намного более смелый шрифт.
Обратите внимание, что они оба используют одни и те же файлы шрифтов ttf.
Я играл со всеми возможными настройками в imageMagic, включая setFontStyle setStrokeOpacity, setStrokeWidth, setStrokeAntialias, setTextAntialias, setStrokeColor, setFillColor в imageMagic, и я не могу сделать его похожим на версию GD.
Как я могу избежать чрезмерного облысения?
Задача ещё не решена.
Других решений пока нет …