Как я могу вырезать изображение снизу, используя PHP? - PullRequest
4 голосов
/ 24 февраля 2010

Я хочу вынести текст внизу изображения.Как я могу вырезать его снизу ... скажем, 10 пикселей, чтобы вырезать снизу.

Я хочу сделать это в PHP.У меня много изображений с текстом внизу.

Есть ли способ сделать это?

Ответы [ 2 ]

17 голосов
/ 24 февраля 2010

Вот, пожалуйста.

Чтобы изменить имя изображения, измените $ 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);

?>
6 голосов
/ 24 февраля 2010

Вы можете использовать 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 по своему вкусу.

...