//if watermark checked then add watermark to original uploaded photo and overwrite it
if($watermark=="true")
{
Image::load($file)
->config('quality', 100)
->watermark(DOCROOT.'assets/img/logofoot.png', 'top left', 20)
->save($file);
}
//create 3 different image sizes from watermarked photo
Image::load($file)
->config('quality', 100)
->crop_resize($neww1, $newh1)
->save($uploaddir . DIRECTORY_SEPARATOR . $newname1);
Image::load($file)
->config('quality', 100)
->crop_resize($neww2, $newh2)
->save($uploaddir . DIRECTORY_SEPARATOR . $newname2);
Image::load($file)
->config('quality', 100)
->crop_resize($neww3, $newh3)
->save($uploaddir . DIRECTORY_SEPARATOR . $newname3);
This can happen when using GD if you have an indexed-colored PNG image instead of a true-color image with an alpha channel, and you combine it with an image that has transparency. So the problem is in the original image. I don't know enough about the Image class to say if that has the option to detect the color type, and to convert from indexed to true-color, before you apply the watermark.
It looks like you're new here. If you want to get involved, click one of these buttons!