Nik Oliveira Postado Janeiro 27, 2015 Denunciar Share Postado Janeiro 27, 2015 Fala pessoal, Tenho a seguinte função: function MarcaDagua($img, $img_marca_dagua){ if (strpos($img_marca_dagua, '.png') !== false){ header("Content-type: image/jpeg; image/png"); $i2 = imagecreatefrompng($img_marca_dagua); }else if (strpos($img_marca_dagua, '.gif') !== false){ header("Content-type: image/jpeg; image/gif"); $i2 = imagecreatefromgif($img_marca_dagua); }else{ exit(''); } $i = imagecreatefromjpeg($img); imagecopyresampled($i, $i2,0,0,0,0, imagesx($i2), imagesy($i2), imagesx($i2), imagesy($i2)); //cordenas imagejpeg($i); imagedestroy($i); } Funciona bem para colocar marca d'agua nas fotos, porem está rotacionando algumas imagens. Se eu acessar o link direto da imagem ela aparece normal, mas acessando através do link que chama esta função fica rotacionada: $img = 'minha_imagem.jpg'; $img_marca_dagua = 'marda_dagua.png'; exit(MarcaDagua($img, $img_marca_dagua)); alguém já passou por isso? É possivel a função imagecreatefromjpeg() ou imagejpeg() girar a imagem? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 sousatg Postado Janeiro 27, 2015 Denunciar Share Postado Janeiro 27, 2015 Isso acontece com todas as imagens ou apenas em algumas? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nik Oliveira Postado Janeiro 27, 2015 Autor Denunciar Share Postado Janeiro 27, 2015 Apenas em algumas, mas segue um padrão: As fotos que foram batidas com a câmera virada e depois foram ajustadas pelo windows, continuam viradas quando carrego pela função imagejpeg(), mas quando acesso ela direto no link ela se mostra correta (virada pelo windows). E o mais estranho.. no ie ela mostra virada, mas no chrome e firefox mostra correta, parece que eles consideram modos diferentes de capturar as dimensões da imagem. Veja um exemplo: Abra essa imagem no ie e no chrome ou firefox: http://danielpaulsen.com.br/si-admin/upload/4_8_(1515).jpg você verá o que falo, so no ie ela não considera a nova dimensão. Essa é a resposta do vardump do getimagesize() desta imagem: array(7) { [0]=> int(352) [1]=> int(234) [2]=> int(2) [3]=> string(24) "width="352" height="234"" ["bits"]=> int(8) ["channels"]=> int(3) ["mime"]=> string(10) "image/jpeg" } Mas note q as novas dimensões estão invertidas, o correto é: width="234" height="352" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 sousatg Postado Janeiro 27, 2015 Denunciar Share Postado Janeiro 27, 2015 Cara pela sua descrição isso parece ser um problema do browser, visto que não acontece com Chrome e FireFox e apenas acontece com Intert explorer. Você pode utilizar CSS para resolver esse problema (imagem apenas aparece invertida no IE). Com CSS você pode rodar imagens condicionalmente. Criei um exemplo no jsFiddle para você ver como fica. Depois basta utilizar a nova propriedade do CSS3 transform para rodar a imagem. Alguma duvida manda mensagem Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Nik Oliveira Postado Janeiro 27, 2015 Autor Denunciar Share Postado Janeiro 27, 2015 Não é o navegador, estou com suspeitas que sejam metadados da imagem, mas não sei como ver isso. Pois veja que até mesmo fazendo download da imagem e abrindo em qualquer programa no desktop ela abre normal, mas no lado do servidor com o getimagesize() ela reconhece estar virada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 sousatg Postado Janeiro 27, 2015 Denunciar Share Postado Janeiro 27, 2015 Podem sempre utilizar um script já feito que faça isso por você e o faça da forma correcta. http://codecanyon.net/item/smartwatermark-php-watermark-script/132671?ref=sousatg Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Nik Oliveira
Fala pessoal,
Tenho a seguinte função:
Funciona bem para colocar marca d'agua nas fotos, porem está rotacionando algumas imagens.
Se eu acessar o link direto da imagem ela aparece normal, mas acessando através do link que chama esta função fica rotacionada:
alguém já passou por isso?
É possivel a função imagecreatefromjpeg() ou imagejpeg() girar a imagem?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.