Web カメラを持っていて、画像に注釈を追加したいのですが、アンチエイリアシングがうまくいきません。私は説明しようとします:
次のようなイメージがあります。
次に、半透明の四角形を追加し、その上にテキストを配置します。
// add background black rectangle
$draw->setFillColor('black');
$draw->setFillOpacity(0.5);
$draw->rectangle( 0, 10, $cam['width'], 70 ); // Draw the rectangle
// add lead text
$draw->setFont('ARIALBD.TTF');
$draw->setFontSize(14);
$draw->setFillColor('white');
$draw->annotation(20, 35, $cam['text']);
// add timestamp
$draw->setFont('ARIAL.TTF');
$draw->setFontSize(12);
$draw->setFillColor(new ImagickPixel('#f3ac01'));
$draw->annotation(20, 50, date("Y-m-d H:i:s"));
$img->drawImage($draw);
そして、次のようなものを取得します。
ええ、でもタイムスタンプはぎこちなく見えます(分/秒を見てください)。アンチエイリアシングを無効にしようとしています:
$draw->setTextAntialias(false);
そして今はまだ醜く見えますが(何時間も見てください)、今では鋭いエッジがあります:
このように、スマートなアンチエイリアシングで結果を得るにはどうすればよいですか (PS が独自のアンチエイリアシングを使用していることは知っていますが、IMagickDraw は本当に悪い結果を処理します):