killedbill
17.01.2008, 21:20:08
Witam!
Chcę napisać kod, który będzie pomniejszał 'uploadowane' zdjęcie - robił thumbnail (za pomocą Image Manipulation Class). Cały problem polega na tym, że wysyłane zdjęcia będą miały różne rozmiary. Czy da się zrobić tak, aby zdjęcie było pomniejszane zawsze do długości 75px i do szerokości proporcjonalnej do pomniejszonej długości (żeby nie było wydłuzone itp.). I jak to zrobić? Nie mogę tego wyczytać w Manualu CI.
I jeszcze jedno, mianowicie, czy da się zapobiec pogorszeniu jakości zdjęć (znaczenj redukcji kolorów) przy robieniu thumba?
Dziekuję za wszystkie ew. odpowiedzi.
kopczyk
17.01.2008, 21:30:51
oczywiście że się da:
Uploadujesz zdjęcie wykorzystując klase upload, później wykorzystując klasę image_lib manipulujesz dowolnie obrazem W manualu jest wszystko opisane:
http://codeigniter.com/user_guide/libraries/image_lib.htmlKod
$config['image_library'] = 'GD';//zamiast GD daj GD2 to nie pogorszy zdjęcia
$config['source_image'] = '/path/to/image/mypic.jpg';//sciezka do zdjecia
$config['create_thumb'] = TRUE;//tworz miniature
$config['maintain_ratio'] = TRUE;//zachowaj proporcje
$config['width'] = 75;//szerokosc
$config['height'] = 50;//wyskosc
$this->load->library('image_lib', $config);
$this->image_lib->resize();
killedbill
17.01.2008, 21:45:50
Dzięki wielkie!
Działa!
Tylko nie rozumiem jednej rzeczy

W skrypcie jest 75x50 a pomniejszyło mi do 50x40. Cóż to za jednostki są w $config['width'] i $config['height']
bo masz ratio=true wiec zachowa proporcje i zmniejszy wg. krótszego boku. poeksperymentuj z tym.