использовать функции php по умолчанию ( imagecopymerge) (библиотека GD):
<?php
list($new_width, $new_height, $new_type, $new_attr) = getimagesize("newimage.png");
switch(image_type_to_mime_type($new_type)){
case IMAGETYPE_GIF:
$new = imagecreatefrompng('newimage.png');
break;
case IMAGETYPE_JPEG:
$new = imagecreatefromjpeg('newimage.png');
break;
case IMAGETYPE_PNG:
$new = imagecreatefromgif('newimage.png');
break;
}
$master = imagecreatefrompng('master.png');
imagealphablending($master, false);
imagesavealpha($demasterst, true);
imagecopymerge($master, $new, $box_x, $box_y, 0, 0, $box_w, $box_h, 100);
// imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )
//save image
imagepng($master, "file.png");
imagedestroy($master);
imagedestroy($new);
для формата jpeg использовать функцию удара:
- http://php.net/manual/en/function.imagejpeg.php
- http://php.net/manual/en/function.imagecreatefromjpeg.php
Если вы не хотите хранить его и просто хотите отправить его пользователю:
...
...
header('Content-Type: image/jpeg');
// Output the image
imagejpeg($master);
// Free up memory
imagedestroy($master);
imagedestroy($new);