Estou com o seguinte problema, criei um sistema de upload de imagem, ele esta funcionando 100%.
O problema agora é, ele usa a regra de 3 para definir o novo tamanho da imagem aquele famoso:
$altura = ($largura*$y) / $x;
Mas oque acontece é que a maioria dos forums não aceitam imagens com altura maior doque 600 pixels. O sistema funciona perfeito para imagens de largura e altura porporcionais, porem se eu envio uma imagem com altura maior doque a largura, ele aumenta mais a altura, vou explicar:
Imagem dimensões: 283x400
A altura dela é maior mas dentro do padrão, então quando aplico a regra para redimensionamento, a imagem fica com as dimensões: 650x918
Entendeu? Ele esta aumentando o tamanho da imagem, sera que tem como fazer ele ignorar o redimensionamento quando for uma imagem menor ou igual a 800x600 mas continuar inserindo a marca d'agua ??
o código é esse que faz o redimensionamento e insere a marca d'agua é esse:
Caso não tenha ficado claro é só falar que eu explico melhor.
Bom galera estou pedindo humildemente a juda de vocês, só estou pedindo ajuda porque já tentei d eoutras formas ignorar o redimensionamento de imagens pequenas, porem não consegui.
Pergunta
Marko Neto
Galera, tudo beleza?
Estou com o seguinte problema, criei um sistema de upload de imagem, ele esta funcionando 100%.
O problema agora é, ele usa a regra de 3 para definir o novo tamanho da imagem aquele famoso:
Mas oque acontece é que a maioria dos forums não aceitam imagens com altura maior doque 600 pixels. O sistema funciona perfeito para imagens de largura e altura porporcionais, porem se eu envio uma imagem com altura maior doque a largura, ele aumenta mais a altura, vou explicar: Imagem dimensões: 283x400 A altura dela é maior mas dentro do padrão, então quando aplico a regra para redimensionamento, a imagem fica com as dimensões: 650x918 Entendeu? Ele esta aumentando o tamanho da imagem, sera que tem como fazer ele ignorar o redimensionamento quando for uma imagem menor ou igual a 800x600 mas continuar inserindo a marca d'agua ?? o código é esse que faz o redimensionamento e insere a marca d'agua é esse:<?php function upload_jpg($tmp, $nome, $largura, $pasta){ $img = imagecreatefromjpeg($tmp); $x = imagesx($img); $y = imagesy($img); $altura = ($largura*$y) / $x; $nova = imagecreatetruecolor($largura, $altura); imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura, $altura, $x, $y); imagedestroy($img); $marca = imagecreatefrompng('marca.png'); $marcax = imagesx($marca); $marcay = imagesy($marca); $localx = $largura-170; $localy = $altura-80; imagecopyresampled($nova, $marca, $localx, $localy, 0, 0, 166, 74, $marcax, $marcay); imagejpeg($nova, "$pasta/$nome"); imagedestroy($nova); return($nome); }?>e a parte do código que envia a imagem é esse:<?php if(isset($_POST['upload'])){ $pasta = 'upload'; $permitido = array('image/jpg', 'image/jpeg', 'image/pjpeg'); $img = $_FILES['img']; $countImg = count($img['name']); require('upload_func.php'); for($i=0;$i<$countImg;$i++){ $tmp = $img['tmp_name'][$i]; $name = $img['name'][$i]; $type = $img['type'][$i]; if(!empty($name) && in_array($type, $permitido)) { $nome = 'site-'.md5(uniqid(rand(), true)).$i.'.jpg'; upload_jpg($tmp, $nome, 650, $pasta);Caso não tenha ficado claro é só falar que eu explico melhor.
Bom galera estou pedindo humildemente a juda de vocês, só estou pedindo ajuda porque já tentei d eoutras formas ignorar o redimensionamento de imagens pequenas, porem não consegui.
Toda ajuda é bem vinda.
Abraço.
Editado por Marko NetoLink para o comentário
Compartilhar em outros sites
2 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.