如何使用 PHP 从底部剪切图像?
Posted
技术标签:
【中文标题】如何使用 PHP 从底部剪切图像?【英文标题】:How can I cut an image from the bottom using PHP? 【发布时间】:2010-02-24 13:59:13 【问题描述】:我想取出图片底部的文字。我怎样才能从底部切割它......比如说从底部切割 10 个像素。
我想在 php 中执行此操作。我有很多底部有文字的图片。
有办法吗?
【问题讨论】:
我们是否正在尝试以编程方式删除某人的水印? 【参考方案1】:给你。
要更改图像的名称,请更改 $in_filename(当前为“source.jpg”)。您也可以在其中使用 URL,但显然这样会更糟。
更改 $new_height 变量以设置要裁剪的底部的多少。
玩弄 $offset_x、$offset_y、$new_width 和 $new_height,你会弄明白的。
请告诉我它有效。 :)
希望对你有帮助!
<?php
$in_filename = 'source.jpg';
list($width, $height) = getimagesize($in_filename);
$offset_x = 0;
$offset_y = 0;
$new_height = $height - 15;
$new_width = $width;
$image = imagecreatefromjpeg($in_filename);
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopy($new_image, $image, 0, 0, $offset_x, $offset_y, $width, $height);
header('Content-Type: image/jpeg');
imagejpeg($new_image);
?>
【讨论】:
哇!非常感谢您的帮助,这很有效。现在我需要将新图像保存在目录中。我该怎么做? 我不想让人头疼,但您介意将我的答案标记为正确答案吗? :) 这就是我们在这里的全部内容。 ;) 对不起,我不能为你投票,因为我的声誉只有 11 :( @nazir,您应该在 Helgi 的答案旁边看到一个检查。如果你觉得他回答了你的问题,你应该标记那个。【参考方案2】:您可以使用GD Image Library 在 PHP 中处理图像。您正在寻找的功能是imagecopy()
,它将图像的一部分复制到另一个图像上。这是一个来自 PHP.net 的示例,大致符合您的描述:
<?php
$width = 50;
$height = 50;
$source_x = 0;
$source_y = 0;
// Create images
$source = imagecreatefromjpeg('source.jpg');
$new = imagecreatetruecolor($width, $height);
// Copy
imagecopy($source, $new, 0, 0, $source_x, $source_y, $width, $height);
// Output image
header('Content-Type: image/jpeg');
imagejpeg($new);
?>
要裁剪源图像,请根据自己的喜好更改 $source_x
和 $source_y
变量。
【讨论】:
谁能给我看一个我需要的工作代码 - 非常感谢 您可能会将 SO 误认为是一群免费为您工作的开发人员。 @nazir:最后一行有错字。将imagejpeg($dest)
更改为imagejpeg($new)
。以上是关于如何使用 PHP 从底部剪切图像?的主要内容,如果未能解决你的问题,请参考以下文章