2

我有一个网络摄像头,想为图像添加一些注释,但抗锯齿效果很奇怪。我将尝试解释:

我有这样的图像:源图像

然后我添加半透明矩形并在其上放置文本:

        //  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 处理真正糟糕的结果):

想要这个

4

2 回答 2

1

对我来说,保存时它看起来更像是整个图像的压缩级别而不是抗锯齿,看看setCompressionQuality,并调整压缩质量,直到避免图片中的“模糊”。

于 2012-11-20T09:11:20.690 回答
1

首先尝试不同的字体。这是open sans另一个链接)字体的示例。 在此处输入图像描述

于 2012-11-20T10:04:02.367 回答