php gd - Mask over image -


i want replace transparent pixels of image mask, i'm using function keep getting errors.

when try:

<?php  function image_mask($src, $mask) {   imagesavealpha($src, true); imagealphablending($src, false); // scan image pixels // imagesx = image width ($x = 0; $x < imagesx($src); $x++) {     // imagesy = image height     ($y = 0; $y < imagesy($src); $y++) {         $mask_pix = imagecolorat($mask,$x,$y);         //return r,g,b,alpha         $mask_pix_color = imagecolorsforindex($mask, $mask_pix);         if ($mask_pix_color['alpha'] < 127) {             $src_pix = imagecolorat($src,$x,$y);             $src_pix_array = imagecolorsforindex($src, $src_pix);             imagesetpixel($src, $x, $y, imagecolorallocatealpha($src, $src_pix_array['red'], $src_pix_array['green'], $src_pix_array['blue'], 127 - $mask_pix_color['alpha']));         }     } }  } image_mask('source.png', 'mask.png');  ?> 

i following errors:

warning: imagesavealpha() expects parameter 1 resource, string given in ... on line 7  warning: imagealphablending() expects parameter 1 resource, string given in ... on line 8  warning: imagesx() expects parameter 1 resource, string given in ... on line 11 

i tried adding imagecreatefrompng , header('content-type: image/png'); images empty page.

i don`t know result want , , feel page show wrong . can try run program

<?php  header('content-type: image/png');  function image_mask(&$src, &$mask) {      imagesavealpha($src, true);     imagealphablending($src, false);     // scan image pixels     // imagesx = image width     ($x = 0; $x < imagesx($src); $x++) {         // imagesy = image height         ($y = 0; $y < imagesy($src); $y++) {             $mask_pix = imagecolorat($mask,$x,$y);             //return r,g,b,alpha             $mask_pix_color = imagecolorsforindex($mask, $mask_pix);             if ($mask_pix_color['alpha'] < 127) {                 $src_pix = imagecolorat($src,$x,$y);                 $src_pix_array = imagecolorsforindex($src, $src_pix);                 imagesetpixel($src, $x, $y, imagecolorallocatealpha($src, $src_pix_array['red'], $src_pix_array['green'], $src_pix_array['blue'], 127 - $mask_pix_color['alpha']));             }         }     }  }  $src = imagecreatefrompng('source.png'); $mask = imagecreatefrompng('mask.png');  image_mask($src, $mask);  imagepng($src);  imagedestroy($src); imagedestroy($mask);    ?> 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -