PHP: Как нарисовать изображение поверх другого изображения?

Я использую библиотеку PHP и GD.

Я хочу нарисовать изображение (скажем, это: http://www.gravatar.com/avatar/107f2fafb2d29fedc3783b141139a878?s=128&d=identicon&r=PG) поверх другого изображения: http://www.geekpedia.com/gallery/fullsize/simplistic-windows-wallpaper.jpg в указанных координатах (вверху слева или вверху справа или в любом месте изображения) ).

Как это сделать с помощью PHP и библиотеки GD.


person Prashant    schedule 10.09.2009    source источник


Ответы (2)


imagecopy() или imagecopymerge(). Его документация также содержит примеры.

person Havenard    schedule 10.09.2009
comment
@Havenard: оба эти метода хороши и работают отлично. Но я столкнулся с одной проблемой: я хочу изменить размер своего изображения (которое я хочу применить к другому изображению) до размера 32x32, есть ли какой-либо метод с использованием библиотеки GD, который сделает это для меня, иначе мне придется создать другой скрипт который сначала изменит размер изображения, а затем применит его к другому изображению, что может вызвать замедление. Поэтому, пожалуйста, сообщите мне какой-либо метод, с помощью которого я могу изменить размер моего изображения до размера 32x32, прежде чем применять его к другому изображению. - person Prashant; 11.09.2009

imagecopyresampled() или imagecopyresized() должны делать именно то, что вам нужно.
(Несмотря на свое название, imagecopyresampled также изменяет размер.)
Они берут часть или все исходное изображение, изменяют его размер и копируют в целевое изображение. Если исходное изображение не квадратное, его можно обрезать или исказить при копировании.

person Tom Robinson    schedule 29.10.2010