Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafa-martin

redimensionar a mesma imagem com tamanhos diferentes

Recommended Posts

boa tarde.


estou usando wideimage para salvar e redimennsionar imagens. No entanto, preciso redimennsionar a mesma imagem em 3 tamanhos diferentes.


E mesmo fazendo isso $img = $img->resize(100, 100, 'outside'); duas ou três vez (com variáveis diferentes) a imagem é salva apenas com uma tamanho.


Está tudo dentro de um for. Pois posso fazer upload de mai de uma imagem ao mesmo tempo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que é preciso carregar a imagem redimensionar e então salvar, tudo isso dentro do loop; tenta fazer algo assim:

for (...) {
    $img = WideImage::load("caminho/sua-imagem.jpg");
    $novaImg = $img->resize(100, 100, 'outside');
    $novaImg->saveToFile($seuContador . "nova-img.jpg");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

já está assim. essa imagem precisa ter três tamanhos. seu faço do jeito abaixo só assume 1 tamanho.

for (...) {
$img = WideImage::load("caminho/sua-imagem.jpg");
$novaImg = $img->resize(100, 100, 'outside');
$novaImg->saveToFile($seuContador . "nova-img.jpg");
$novaImg1 = $img->resize(100, 200, 'outside');
$novaImg1->saveToFile($seuContador . "nova-img.jpg");
$novaImg2 = $img->resize(100, 300, 'outside');
$novaImg2->saveToFile($seuContador . "nova-img.jpg");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso que você mostrou sempre vai ter uma imagem só, porque está tentando salvar tudo com o mesmo nome, ai no caso deveria ser assim:

for (...) {
    $img = WideImage::load("caminho/sua-imagem.jpg");
    $novaImg = $img->resize(100, 100, 'outside');
    $novaImg->saveToFile($seuContador . "nova-img1.jpg");
 
    $novaImg1 = $img->resize(100, 200, 'outside');
    $novaImg1->saveToFile($seuContador . "nova-img2.jpg");
 
    $novaImg2 = $img->resize(100, 300, 'outside');
    $novaImg2->saveToFile($seuContador . "nova-img3.jpg");
}

Se ainda assim não funcionar, tenta fazer dessa forma:

for (...) {
    $img = WideImage::load("caminho/sua-imagem.jpg");
    $novaImg = $img->resize(100, 100, 'outside');
    $novaImg->saveToFile($seuContador . "nova-img1.jpg");
 
    $img = WideImage::load("caminho/sua-imagem.jpg");
    $novaImg1 = $img->resize(100, 200, 'outside');
    $novaImg1->saveToFile($seuContador . "nova-img2.jpg");
 
    $img = WideImage::load("caminho/sua-imagem.jpg");
    $novaImg2 = $img->resize(100, 300, 'outside');
    $novaImg2->saveToFile($seuContador . "nova-img3.jpg");
}

Não conheço detalhes dessa classe WideImage, mas pode ser que quando você chama o método resize o estado do objeto é alterado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.