如何使用PHP从底部剪切图像?

时间:2010-02-24 13:59:13

标签: php image gd

我想取出图片底部的文字。如何从底部切割...说从底部切割10个像素。

我想在PHP中这样做。我有很多图片底部有文字。

有办法吗?

2 个答案:

答案 0 :(得分:17)

你走了。

要更改图像的名称,请更改$ in_filename(当前为'source.jpg')。你也可以在那里使用网址,虽然显然效果会更差。

更改$ 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);

?>

答案 1 :(得分:6)

您可以使用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变量。