• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

nuno_couto

php imagejpeg » qualidade da imagem

6 mensagens neste tópico

Vou colar um exerto do php.net:

imagejpeg ( resource image [, string filename [, int quality]] )

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).

Num script que faz o redimensionamento das imagens, estou a usar o comando imagejpeg.

Estou a usar a qualidade a 100 e mesmo assim a imagem não sai grande coisa :| vejam um exemplo »»»  http://www.vyzen.com/portal/loja/imagens/14.jpeg

Aparentemente a imagem fica com "aliasing"...

A imagem original era esta:

http://www.hardware.no/tester/laptop/dell/latitude_d510/d510_originaler_1024/dell_d510_sk_o_o.jpg

Alguem consegue ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o parametro quality para o imagejpeg não tem nada a ver com o que tu queres, esse parametro é para a compressão jpg da imagem, nada mais. o teu problema está no redimensionamento da imagem que não está a ficar bem feito, se usasses o imagepng o resultado ia ser o mesmo (penso eu).

qual o codigo que tens para o redimensionamento?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho o seguinte código:

$reducao = $largura/400;

$nova_largura = $largura/$reducao;

$nova_altura = $altura/$reducao;

$tmp_img = imagecreatetruecolor ($nova_largura, $nova_altura);

imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura, $altura);

Consegues dar uma alternativa?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $nova_largura, $nova_altura, $largura, $altura);

Segundo acabei de ler no php.net, o problema está neste comando... imagecopyresized só trabalha com 256 cores, e um redimensionamento com poucas cores origina aquele problema.

O que lá diz pra fazer é usar o comando  imagecreatetruecolor().

Só  que não estou a ver qual o script necessário para redimensionar com este comando...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já descobri... Basta trocar isto:

imagecopyresized

por isto:

imagecopyresampled

O restante código fica igual... e a imagem sai impecável.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya, é a função que uso no meu fotolog...

já reparaste que resolveste o teu proprio problema sem ajuda de ninguem em pouco + de 1hr? =D pa proxima poupa a malta e n sejas tão preguiçoso e faz la uma pesquisa antes, aprendes mais e tudo lendo um pouco :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora