Официальный сайт студ.городка НГТУ
Программирование и БД » [php GD] Как наложить одну катринку на другую? 

#1  14.01.08 18:46

M16
Профиль

[php GD] Как наложить одну катринку на другую?

Сабж

хочу попробовать сделать чтото типа погодного банера
чтобы отображать облачность и осадки на 1 картинке

Offline

#2  14.01.08 19:31

Re: [php GD] Как наложить одну катринку на другую?

хочу попробовать сделать чтото типа погодного банера

Фотошоп уже бессилен? Если таки действительно что-то такое хитрое и динамическое, то идем в мануал похапэ, открываем раздел работы с изображениями и ищем там нужную функцию. Это ведь просто. php.net/imagecopy.

Offline

#3  15.01.08 09:55

Re: [php GD] Как наложить одну катринку на другую?

вырезка из класса:

Код: php:

try {
if ($watermark_size = getimagesize($this->imageWatermark)) {}
else throw new ImageException("Incorect type for watermark", 6);
} catch (ImageException $e) {
$this->message[] = $e->getMessage();
}
if ($watermark_size[0]) {
$filter = imagecreatefrompng($this->imageWatermark);
imagecopy($this->image, $filter, imagesx($this->image) - imagesx($filter) - 10,  imagesy($this->image) - imagesy($filter) - 10, 0, 0, imagesx($filter), imagesy($filter));
imagedestroy($filter);
}

$this->image - изображение на которое накладывается картинка $filter. $filter обязательно в формате PNG! GIF не полностью поддерживается библиотекой GD

Исправлено A-Lex (15.01.08 09:56)

Offline

#4  15.01.08 12:17

Re: [php GD] Как наложить одну катринку на другую?

Леха, ну ты ппц

Код: php:

if (!$watermark_size = getimagesize($this->imageWatermark))
{
    $this->message[] = "Incorect type for watermark";
    return false;
}
// или throw new ImageException("Incorect type for watermark", 6);
// и далее перехват в вызывающем методе
 
$filter = imagecreatefrompng($this->imageWatermark);
imagecopy($this->image, $filter, imagesx($this->image) - imagesx($filter) - 10,  imagesy($this->image) - imagesy($filter) - 10, 0, 0, imagesx($filter), imagesy($filter));
imagedestroy($filter);

Offline

#5  15.01.08 15:41

M16
Профиль

Re: [php GD] Как наложить одну катринку на другую?

спасибо буду пробовать


ЗЫ не на PEAR делаю :)  поэтому придеться под шаманить

Offline

#6  15.01.08 15:47

Re: [php GD] Как наложить одну катринку на другую?

A-Lex, а при таком методе прозрачность пнг поддерживается?

Offline

#7  15.01.08 18:21

Re: [php GD] Как наложить одну катринку на другую?

у меня нормально работает с gd2
вместо imagecopy можно юзать imagecopymerge

Offline

#8  15.01.08 21:54

Re: [php GD] Как наложить одну катринку на другую?

просто я в своих методах для этого(8бит прозрачность наложения) использую попиксельную прорисовку одного изображения на другом, а он жрёт очень много ресурсов. Надо будет этот попробовать.

Offline

Программирование и БД » [php GD] Как наложить одну катринку на другую? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.062 сек.
Выполнено 14 запросов.