加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – imagestring创建模糊文本?

发布时间:2020-12-13 22:51:50 所属栏目:PHP教程 来源:网络整理
导读:我正在使用imagestring在我的图像上绘制小尺寸的文本.我用它来绘制文本($radUrl)并将图像($img)保存到$radPath imagestring($img,3,8,$radUrl,imagecolorallocate($img,255,0));imagejpeg($img,$radPath,100);//($radUrl is a string,$radPath is the path t
我正在使用imagestring在我的图像上绘制小尺寸的文本.我用它来绘制文本($radUrl)并将图像($img)保存到$radPath

imagestring($img,3,8,$radUrl,imagecolorallocate($img,255,0));
imagejpeg($img,$radPath,100);
//($radUrl is a string,$radPath is the path to save the image)

它创建的文本模糊不清.阅读太模糊了.图像中已经存在一些甚至更小的预先存在的文本,其清晰且易于阅读.

为什么文本如此模糊,如何解决这个问题?

编辑:
使用PNG图像修复了此问题.但是,为了节省带宽成本/处理能力,我必须坚持使用imagejpeg.我知道JPEG压缩会降低所有内容的质量,尤其是线条/文本,但图像中的所有其他文本都很好.

在下面的图像中,顶部的模糊红色文本是使用imagestring创建的文本,并且清晰的白色城市名称已经存储在我服务器硬盘上的原始图像上.

解决方法

您在绿色背景上画红色文本.这是一个可怕的想法,除非你真的想让它变得难以辨认 about 10% of the male population.请停止你正在做的事情,并在继续之前阅读 web accessibility.

您目前所经历的模糊是JPEG压缩的直接结果.原因如下:

人眼对亮度的变化比对颜色的变化更敏感.这是因为人眼比锥细胞含有更多的杆状细胞. JPEG压缩使用chroma subsampling来利用这一事实.通常,与亮度(亮度)相比,色度(颜色)信息被编码为水平的一半和垂直分辨率的一半.

您的红色文本与您放置的绿色背景的亮度几乎完全相同,因此您必须完全依赖低分辨率色度信息才能读取它.

你需要做的是选择更好的颜色.或者更好的是,在图像上绘制一个黑色矩形,并将文本放在其上(使用浅色,如白色或黄色,而不是红色).

但在做任何事情之前,请先阅读网页辅助功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读