Динамичен thumbnail (JPEG)

Автор: skatebord

Поиграх си малко с един скрипт от книгата ми и ето какво излезе. Бръз ресайзър на картинки (засега само jpeg(jpg)), който не нарушава качеството на изображението и го смалява правилно. Та ето за какво иде реч:

<?php

$img = "untitled.JPG";
$temppath = "";
function thumbnail($imgfile,$thumbsize) {

header('Content-type: image/jpeg');

list($width,$height) = getimagesize($imgfile);

$imgratio = $width/$height;

if($imgratio>1) {
$newwidth = $thumbsize;
$newheight = $thumbsize / $imgratio;
}
else if($imgratio<1) {
$newheight = $thumbsize;
$newwidth = $thumbsize * $imgratio;
}
else {
$newheight = $thumbsize;
$newwidth = $thumbsize;
}

$thumb = imagecreatetruecolor($newwidth,$newheight);
$source = imagecreatefromjpeg($imgfile);
imagecopyresampled($thumb,$source,0,0,0,0,$newwidth,$newheight,$width,$height);
imagejpeg($thumb,$temppath,100);
imagedestroy($thumb);

}

thumbnail($img,150);
?>
  • $img е името на файла, който ще се оразмерява.
  • $temppath е дирикторията в която ще се запазва временното изображение, то ще се трие след като се направи, така че няма опастност за мястото на сървъра. Дирикторията, която е зададена, трябва да е с chmod 777!
  • thumbnail($img,150 ); това (в червения цвят) е максималния размер на височината и широчината картинкта.

Тук е мястото да благодаря на lortnoc.
Скоро очаквайте за други формати.

Урока е авторски, забранявам преписването му!

Вашият коментар