![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
Witam serdecznie,
Potrzebuję zrobić generator miniaturek w PHP. chciałbym skryptem nakładać zrobioną już miniaturkę na pusty kwadrat i łączysz w jeden obrazek. (chce uzyskać w galerii jednakową wielkość miniaturek) Wie ktoś może jak to ugryźć? Łukasz |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 6.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php //Autor: Podgur class ImageException extends Exception { public function __toString() { $ret = 'Powstal blad<br /> Komunikat: '.$this->getMessage().'<br />Plik: '.$this->getFile().'<br />Wiersz: '.$this->getLine(); return $ret; } } class ImageClass { public $image; //konstruktor pobierający obrazek function __construct($url) { //Sprawdzanie czy istnieje plik graficzny podany w konstruktorze if(!file_exists($url)) { //W przypadku nie istnienia pliku throw new ImageException('Podany plik nie istnieje'); }else{ $this->image=$url; } } public function resize($height,$width,$quality=60) { //Brak obsługi formatu png i bmp //Pobranie nazwy pliku $namefile = $this->image; //Wycięcie rozszerzenia $type = substr(strstr($namefile,'.'),1); //Tablica z formatami $rozszerzenia=array("jpg","jpeg","gif"); if(!in_array($type,$rozszerzenia)) { throw new ImageException('Zly format pliku'); } //Nagłówek header("Content-Type: image/$type"); switch($type){ //Rozszerzenie *.jpg/jpeg case "jpg": $img = imagecreatefromjpeg($this->image); break; //Rozszerzenie *.gif case "gif": $img = imagecreatefromgif($this->image); break; } $mini = imagecreatetruecolor($width,$height); //Stworzenie miniatury imagecopyresized($mini,$img,0,0,0,0,$width,$height,imagesx($img),imagesy($img)); switch($type){ //Rozszerzenie *.jpg/jpeg case "jpg": imagejpeg($mini, "mini".rand(1,100)."_$namefile", 70); break; //Rozszerzenie *.gif case "gif": imagegif($mini, "mini".rand(1,100)."_$namefile", 70); break; } } } try { //wywolanie obiektu klasy. Jako parametr dajemy scieżke, bądź nazwę pliku $photo = new ImageClass('a.jpg'); //wywolanie metody resize() $photo->resize(1000,1000); //Przyjmuje 3 parametry: wysokosc,szerokosc i jakość miniatury } catch(ImageException $error) { echo $error; } ?> Trochę sobie zmodyfikujesz i będzie dobrze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 21:39 |