2012-01-26 9 views
10

Czy ktoś z was zna dobrą klasę php, której mogę użyć do pobrania obrazu ze zdalnego źródła, ponownie zmień rozmiar na 120x120 i zapisz go pod wybraną przeze mnie nazwą pliku ?pobierz obraz ze zdalnego źródła i zmień rozmiar, a następnie zapisz

Więc w zasadzie chciałbym mieć obraz na "http://www.site.com/image.jpg" zapisać na mój serwer "/images/myChosenName.jpg" jako 120x120 pikseli.

Dzięki

+0

A co jeśli oryginalny obraz nie jest prostokątny? Czy planujesz go przyciąć, zrobić w skali dystalnej, czy coś innego? A co jeśli oryginalny obraz jest mniejszy niż 120x120? Czy planujesz ją skalować? –

+0

W przypadku bardziej "odpowiedzi", powinieneś być w stanie napisać ten kod samodzielnie, szybko i prosto: użyj funkcji 'file_get_content' z adresem URL obrazu, aby uzyskać zawartość obrazu w zmiennej, a następnie użyj kilku Funkcje GD do skalowania, a na końcu funkcja 'file_put_contents', aby zapisać wynik. –

+0

Oryginał nigdy nie będzie mniejszy niż 120x120, ale może wymagać skalowania. – Ivar

Odpowiedz

14

Możesz spróbować tego:

<?php  
$img = file_get_contents('http://www.site.com/image.jpg'); 

$im = imagecreatefromstring($img); 

$width = imagesx($im); 

$height = imagesy($im); 

$newwidth = '120'; 

$newheight = '120'; 

$thumb = imagecreatetruecolor($newwidth, $newheight); 

imagecopyresized($thumb, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); 

imagejpeg($thumb,'/images/myChosenName.jpg'); //save image as jpg 

imagedestroy($thumb); 

imagedestroy($im); 
?> 


Więcej informacji na temat funkcji obrazu PHP: http://www.php.net/manual/en/ref.image.php

+0

Dziękuję, działa świetnie! – Ivar

Powiązane problemy