Jump to content

Resize Sem distorcer


ricardocoimbra
 Share

Recommended Posts

Imaginem que tenho varias fotos:

500x300 px

200x200 px

180x150 px

Agora quero fazer um resize proporcional sem distorcer e ficar todas as fotos com 150x120 é possível? Como fazer?

Tens que criar imagens novas a partir dessas, usando um crop. Podes usar uma das várias bibliotecas para PHP de imagem, como o GD ou o imagick. Vê este tut na Wiki sobre imagick.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Podes usar esta função.

http://code.google.com/p/timthumb/source/browse/trunk/timthumb.php

Depois é só modificar as tags img conforme o exemplo:

<img src="scripts/timthumb.php?src=http://www.site.com/images/image.jpg&h=150&w=120&zc=1" />

w: width

h: height

zc: zoom crop (0 or 1)

q: quality (default is 75 and max is 100)

Link to comment
Share on other sites

mjamado mas ja tenho as fotos no servidor, quero é listar com essa proporção.... terei de ter no servidor com 150x120?

É que nem seguiste o link que coloquei, pois não?

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

mjamado acontece que tava a tentar instalar  ImageMagick mas nao tenho privilegio... fiz phpinfo(); e nao tenho habilitado... mas era mesmo isso que eu cria porque faz o resize e depois faz o crop do que esta a mais... nao sabes d outra maneira d fazer com jquery nao dará?

É que nem seguiste o link que coloquei, pois não?  ?

Link to comment
Share on other sites

mjamado acontece que tava a tentar instalar  ImageMagick mas nao tenho privilegio... fiz phpinfo(); e nao tenho habilitado...

Pede ao admin do servidor. Isso é coisa para se instalar em cinco minutos.

mas era mesmo isso que eu cria porque faz o resize e depois faz o crop do que esta a mais... nao sabes d outra maneira d fazer com jquery nao dará?

O jQuery é uma framework javascript, logo, do lado do cliente.

Se calhar até é possível, jogando com imagens de background, posicionamento e tal... mas a imagem iria sempre "grande" para o cliente e só depois seria ajustada, o que não é eficaz e é um desperdício de largura de banda. Essas coisas fazem-se do lado do servidor.

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Obrigado mais uma vez, vou ver se o administrador instala.... pk pelo que vejo so tenho GD...

Pede ao admin do servidor. Isso é coisa para se instalar em cinco minutos.

O jQuery é uma framework javascript, logo, do lado do cliente.

Se calhar até é possível, jogando com imagens de background, posicionamento e tal... mas a imagem iria sempre "grande" para o cliente e só depois seria ajustada, o que não é eficaz e é um desperdício de largura de banda. Essas coisas fazem-se do lado do servidor.

Link to comment
Share on other sites

O GD também serve.

Mas convenhamos que é 10x pior a fazer a mesma coisa, tanto ao nível da quantidade de código necessária, como ao nível da performance...

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Sim, mas se não existir a hipótese de usar o imagick, é melhor o GD que usar javascript.

Ya, javascript para isto é mesmo over-the-edge...

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.