Php 裁剪图像,但保留默认大小
我的图片在顶部、底部和左侧都有很大的空间。我如何删除该空间并获得新的更小的jpeg图像?简单的答案是:你不能。至少不准确。JPEG压缩会留下瑕疵,导致图像不能正确裁剪 然而,如果你坚持,你可以裁剪带有公差的图像 首先,您需要选择“空”颜色。这本身就是一个挑战,但通常左上角的像素Php 裁剪图像,但保留默认大小,php,image,Php,Image,我的图片在顶部、底部和左侧都有很大的空间。我如何删除该空间并获得新的更小的jpeg图像?简单的答案是:你不能。至少不准确。JPEG压缩会留下瑕疵,导致图像不能正确裁剪 然而,如果你坚持,你可以裁剪带有公差的图像 首先,您需要选择“空”颜色。这本身就是一个挑战,但通常左上角的像素(0,0)可以正常工作 一旦你有了空的颜色,扫描顶部的行,直到你找到一个不同颜色的像素(或者在一个小的空白内,以容纳JPEG伪影)。保存找到非空颜色的行的编号 从图像底部重复此过程 然后,对左侧和右侧的列执行相同的操作,但
(0,0)
可以正常工作
一旦你有了空的颜色,扫描顶部的行,直到你找到一个不同颜色的像素(或者在一个小的空白内,以容纳JPEG伪影)。保存找到非空颜色的行的编号
从图像底部重复此过程
然后,对左侧和右侧的列执行相同的操作,但只扫描已经找到的顶部行和底部行(以避免重复检查角点)
最后,使用维度将图像复制到更小的画布上,然后保存。我有很多图像,希望用PHP来完成。您能定义“空间”吗?这是否意味着只有纯色?白色还是黑色?你有多少?我有很多。只是颜色、背景噪音等。这有关系吗?你已经说过“很多”。如果多意味着10,你应该用photoshop来做,如果多意味着1000000,那么一个智能的php解决方案将节省大量的时间。。。。那么有多少呢?让我们说我想有一个解决方案来用PHP实现它…:)我同意我会这样做,但我永远不会使用这个,太多的变量。“容忍”的概念很难界定。OP说“噪音”,对我来说也是,这意味着不同的颜色会破坏宽容的概念。如果通过噪声,OP意味着它是一种纯色,根据jpeg伪影变化很小,那么您可能有一张照片