我需要一些帮助在 PHP (GD) 中裁剪图像
Posted
技术标签:
【中文标题】我需要一些帮助在 PHP (GD) 中裁剪图像【英文标题】:I need some help cropping an image in PHP (GD) 【发布时间】:2010-05-27 02:49:56 【问题描述】:http://i.imgur.com/foT9u.jpg
以该图像为例,这是我需要做的:
将蓝色方块裁剪成与黑色方块相同的比例 通过这样做,我应该能够调整蓝色方块的大小以适应黑色方块而不拉伸它 - 它会保持其比例。注意:蓝色方块必须“从中心”裁剪。裁剪后原居中应保持居中(例如,不能从左上角裁剪)。
这是我认为需要做的事情(以风景、蓝色方块为例):
找出黑色方块的宽度和高度之间的差异 找出蓝色方块的宽度和高度之间的差异 这应该告诉我要裁剪多少蓝色方块以及使用多少“顶部偏移” 将其裁剪为适合黑色方块的比例后,即可调整其大小我一直在搞乱类似的代码:
if (BLACK_WIDTH > BLACK_HEIGHT)
$diffHeight = BLACK_WIDTH - BLACK_HEIGHT;
$newHeight = $blue_Height - $blue_Height;
echo $newHeight;
然后使用 Photoshop 尝试了解应该如何完成此操作,但仍然失败 >.
我该怎么做呢?我怎样才能确定要裁剪多少(取决于蓝色方块是横向还是纵向)?然后如何获得偏移量以保留蓝色方块中心?
编辑:错字
【问题讨论】:
【参考方案1】: 找到您要裁剪的黑色方形宽度。示例所需宽度 => $x 求蓝色方块的比率 ($r)。所以调整大小后你会得到新的宽度 => $y创建一个函数,例如 deceaseSize 函数,该函数会做类似循环的事情,循环直到 $x == $y
对不起,忽略我的回答。
【讨论】:
没有比循环更好的选择吗?如果我从一个大图像开始,我想缩小到更小的东西怎么办。循环以一次将图像缩小 1 个像素可能会导致一些速度问题:/以上是关于我需要一些帮助在 PHP (GD) 中裁剪图像的主要内容,如果未能解决你的问题,请参考以下文章