Autor | Zpráva | ||
---|---|---|---|
David Prokop Profil |
#1 · Zasláno: 25. 11. 2007, 20:27:54
Dobrý den,
dělám fotogalerii v php a vkládané fotky si upravuju na můj zadaný rozměr, pomocí funkcí v gd knihovně: function Resizer( $filename, //cesta k souboru, ktery chcete zmensit $copypath, //cesta, kam zmenseny soubor ulozit $MaxWidth, //maximalni sirka zmenseneho obrazku $MaxHeight, //maximalni vyska zmenseneho obrazku $Filetype) //typ souboru { //zjistime puvodni velikost obrazku list($OrigWidth, $OrigHeight) = getimagesize($filename); //hodnota 0 v parametrech MaxWidth resp. MaxHeight znamena, //ze sirka resp. vyska vysledku muze byt libovolna if ($MaxWidth == 0) $MaxWidth = $OrigWidth; if ($MaxHeight == 0) $MaxHeight = $OrigHeight; //nyni vypocitam pomer zmenseni $pw = $OrigWidth / $MaxWidth; $ph = $OrigHeight / $MaxHeight; if ($pw > $ph) $p = $pw; else $p = $ph; if ($p < 1) $p = 1; //v p ted mame pomer pro zmenseni //vypocitame vysku a sirku zmenseneho obrazku $NewWidth = (int)$OrigWidth / $p; $NewHeight = (int)$OrigHeight / $p; //vytvorime novy obrazek pozadovane vysky a sirky $image_p = imagecreatetruecolor($NewWidth, $NewHeight); //otevreme puvodni obrazek se souboru switch ($Filetype) { case "image/bmp": $image = imagecreatefrombmp($filename); break; case "image/gif": $image = imagecreatefromgif($filename); break; case "image/jpeg": $image = imagecreatefromjpeg($filename); break; case "image/png": $image = imagecreatefrompng($filename); break; } //a okopirujeme zmenseny puvodni obrazek do noveho imagecopyresampled($image_p, $image, 0, 0, 0, 0, $NewWidth, $NewHeight, $OrigWidth, $OrigHeight); //a ulozime imagejpeg($image_p, $copypath, 100); } po té při zobrazovaní jendotlivých fotek pomocí funkce $file_exif zobrazím informace z exifu. Problém ovšem je s s výše uvedenou funkcí, která při použití exif informace smaže.. Za nápady, připomínky a rady předem děkuji |
||
DFly Profil |
#2 · Zasláno: 25. 11. 2007, 22:41:42
vzdyt v tom scriptu nevidim zadnou exifovou fci...
nicmene nenatahujes ty exif data mimo fci?... |
||
echo Profil * |
#3 · Zasláno: 25. 11. 2007, 23:56:58
musis vytahnut exif data este pred aplikovanim Resizer()
|
||
echo Profil * |
#4 · Zasláno: 25. 11. 2007, 23:58:28
najlepsie pri uploade
|
||
David Prokop Profil |
#5 · Zasláno: 26. 11. 2007, 10:20:11
jo exif data vytahuju az pri zobrazovani fotek, tou funkci $file_exif. Tu funkci resizer pouzivam pri uploadu fotek. takze nejlepsi by bylo vytahnout exif informace pred pouzitim te funkce resizer a pak je znovu nahrat do souboru nebo ulozit nekam treba db?
|
||
Časová prodleva: 16 let
|
0