Good 4 Denunciar post Postado Abril 3, 2010 Como eu faço para pegar uma imagem e colocar ela sobre outra? 1- Pegar uma imagem e dar crop (cortar, não é redimensionar) 2- Pegar a imagem cortada e colocar sobre outra ----- E outra coisa: Eu tenho umas imagens no formato PNG, os fundos estão transparente.. mas quando eu dou crop nelas o fundo fica preto.. alguém sabe como resolver? Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Abril 3, 2010 Existem varias bibliotecas que fazem isso. Minha preferida é WideImage. Veja os demos: http://wideimage.sourceforge.net/demos/ Em "merge" você encontrará oque quer. Se quiser saber como funciona, só olhar o código fonte.... Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Abril 3, 2010 Vlw.. E eu vi que a função imagecopymerge faz o que eu quero.. mas esse tbm faz: $flag = imagecreatefrompng('feminino1_1.png'); $mask = imagecreatefrompng('masculino1_9.png'); imagealphablending($flag, 1); imagealphablending($mask, 1); imagecopy($flag, $mask, 0,0,0,0,100,40); Header("Content-type: image/jpeg"); imagepng($flag); mas o fundo não fica transparente.. alguém mais experiente com isso ae sabe fazer? Ou se eu salvar a img o fundo ficará transparente ou preto (como está sendo exibido no momento)? vlw Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Abril 4, 2010 Ufa.. finalmente consegui: <?php $img = imagecreatetruecolor(80, 80); imagesavealpha($img,true); $transparente = imagecolorallocatealpha($img, 200, 200, 200, 127); imagefill($img,0,0,$transparente); /* ---------------- */ $corpo = imagecreatefrompng("img/corpo.png"); $rosto = imagecreatefrompng("img/rosto.png"); $barba = imagecreatefrompng("img/barba.png"); $cabelo = imagecreatefrompng("img/cabelo.png"); /* ---------------- */ imagecopy($img, $corpo, 0,0,48,12,80,80); imagecopy($img, $rosto, 0,0,48,12,80,80); imagecopy($img, $barba, 0,0,50,13,80,80); imagecopy($img, $cabelo, 0,0,48,12,80,80); /* ---------------- */ header("Content-type: image/png"); imagepng($img); imagepng($img,"img/good.png",9); imagedestroy($img); ?> Bom, pra quem precisar: O script coloca uma imagem sobre a outra (merge), e depois coloca o fundo como transparente.. flw e vlw lucaswxp pelo menos ele me disse o nome dessa função.. Compartilhar este post Link para o post Compartilhar em outros sites