Jump to content

Watermark And Automatic Resize Image?


lipe009

Recommended Posts

I want to make a code in PHP that resize and place a watermark on the image resized.

 

There is this code:

 

 

$srcimg = "thebigphoto.jpg"; //the source file
$tmimg = "sm_".$srcimg; //were to place the thumb
$wmimg = "watermark.pbr"; //the watermark files
$target = 150; //thumbnail target size
$waterlevel = 40; //the level of opacity

//load the jpeg and get its sizes
$image = imagecreatefromjpeg($srcimg);
$size = getimagesize($srcimg);

//this if just figures out what side is dominant
if ($size[0] > $size[1]) {
$percentage = ($target / $size[0]);
} else {
$percentage = ($target / $size[1]);
}
//calc the thumb sizes
$newwidth = round($size[0] * $percentage);
$newheight = round($size[1] * $percentage);

//make a new img | copy the smaller | save as jpeg | clean up
$thumb = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($thumb, $image, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
imagejpeg($thumb,$tmimg);
imagedestroy($thumb);

//make watermage img | and get its sizes;
$watermark = imagecreatefrompng($wmimg);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

//this will place it Bottom-Left, 5px from the border
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;

//copy it over | save it over the original | and clean up
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $waterlevel);
imagejpeg($image,$srcimg );
imagedestroy($watermark);
imagedestroy($image);

 

It does not work, though. Dreamweaver shows syntax errors in the code. Can someone tell me what is wrong in the code?

Link to comment
https://forums.phpfreaks.com/topic/269799-watermark-and-automatic-resize-image/
Share on other sites

got it working.. put the water first then resize.

 



$srcimg = "test.jpg"; //the source file
$tmimg = "sm_".$srcimg; //were to place the thumb
$wmimg = "hack.png"; //the watermark files
$target = 150; //thumbnail target size
$waterlevel = 40; //the level of opacity

//load the jpeg and get its sizes
$image = imagecreatefromjpeg($srcimg);
$size = getimagesize($srcimg);

//make watermage img | and get its sizes;
$watermark = imagecreatefrompng($wmimg);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

//this will place it Bottom-Left, 5px from the border
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;

//copy it over | save it over the original | and clean up
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $waterlevel);

//this if just figures out what side is dominant
if ($size[0] > $size[1]) {
$percentage = ($target / $size[0]);
} else {
$percentage = ($target / $size[1]);
}
//calc the thumb sizes
$newwidth = round($size[0] * $percentage);
$newheight = round($size[1] * $percentage);

//make a new img | copy the smaller | save as jpeg | clean up
$thumb = imagecreatetruecolor($newwidth, $newheight);
imagecopyresized($thumb, $image, 0, 0, 0, 0, $newwidth, $newheight, $size[0], $size[1]);
imagejpeg($thumb, $tmimg);
imagedestroy($thumb);

imagedestroy($watermark);
imagedestroy($image);

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.