MyBB Community Forums

Full Version: a graphic problem [help me please]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi!
I want to use a code for my upload center for add watermark to images.

I added this code:

//New function to Add Watermark
function add_watermark($extension, $path, $filename)
{
global $mmhclass;
$image_upfile = $path.$filename;

if($extension == "jpeg" || $extension == "jpg")
{
$watermark = imagecreatefrompng('css/watermark.png');
imageAlphaBlending($watermark, false);
imageSaveAlpha($watermark, true);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($image_upfile);
$size = getimagesize($image_upfile);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);

if(@imagejpeg($image, $image_upfile, 90))
{
$img_watermakred = "yes";
}

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

if($extension == "png")
{
$watermark = imagecreatefrompng('css/watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefrompng($image_upfile);
$size = getimagesize($image_upfile);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);

if(@imagepng($image, $image_upfile))
{
$img_watermakred = "yes";
}

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

if($extension == "gif")
{
$watermark = imagecreatefrompng('css/watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromgif($image_upfile);
$size = getimagesize($image_upfile);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);

if(@imagegif($image, $image_upfile))
{
$img_watermakred = "yes";
}

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


and upload this image for adding to images.
[attachment=27060]

but it has a bad result. low quality. why?
sample:
[attachment=27061]
http://www.php.net/manual/en/function.im...ending.php

i haven't used gd in a while but i think that's the right function