我有一个网络摄像头,想要向图像添加一些注释,但抗锯齿效果很奇怪。我将尝试解释:
我有一个像这样的图像:
然后我添加半透明矩形并在其上放置文本:
// 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处理真正糟糕的结果):
最佳答案
对我来说,它看起来更像是保存时整个图像的压缩级别,而不是抗锯齿,看看 setCompressionQuality ,然后调整压缩质量,直到避免图片中出现“模糊”现象。
关于php imagick 注释抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387183/