Autor | Zpráva | ||
---|---|---|---|
aaa Profil |
#1 · Zasláno: 18. 9. 2008, 17:46:18 · Upravil/a: aaa
mám kód na resize (resize.php):
<?php //Source $filename = $image; $size = "280"; // Content type header('Content-type: image/jpeg'); // Get new sizes list($width, $height) = getimagesize($filename); $newwidth = $size; $newheight = ($height/$width)*$size; // Load $thumb = imagecreatetruecolor($newwidth, $newheight); $source = imagecreatefromjpeg($filename); // Resize imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // Output imagejpeg($thumb); ?> s výpisem klasicky: <img src="resize.php?image='.$image.'"> kod pro waterark: function watermarkbyimage( $imagepath, //cesta k zdrojovemu jpeg obrazku $watermarkpath, //cesta k obrazku s watermarkem $outputpath, //cesta pro vystupni obrazek $transparency = 80, //pruhlednost watermarku (0-100) $Xoffset = 0, //posunuti watermarku v X souradnici $Yoffset = 0, //posunuti watermarku v Y souradnici $Xalign = "middle", //umisteni watermarku v x souradnici //lze zadat "middle", "left", "right" $Yalign = "bottom" //umisteni watermarku v y souradnici //lze zadat "top, "middle", "bottom ) { //otevreme oba zdrojove obrazky $image = imagecreatefromjpeg($imagepath); $imagew = imagecreatefromgif($watermarkpath); //zjistime jejich velikost list($watermarkWidth, $watermarkHeight) = getimagesize($watermarkpath); list($imageWidth, $imageHeight) = getimagesize($imagepath); $xpos = 0; $ypos = 0; //podle parametru funkce upravime promene //xpos a ypos if ($Xalign == "middle") { $xpos = $imageWidth/2 - $watermarkWidth/2 + $Xoffset; } if ($Xalign == "left") { $xpos = 0 + $Xoffset; } if ($Xalign == "right") { $xpos = $imageWidth - $watermarkWidth - $Xoffset; } if ($Yalign == "middle") { $ypos = $imageHeight/2 - $watermarkHeight/2 + $Yoffset; } if ($Yalign == "top") { $ypos = 0 + $Yoffset; } if ($Yalign == "bottom") { $ypos = $imageHeight - $watermarkHeight - $Yoffset; } //vlozime watermark do obrazku imagecopymerge($image, //zdrojovy obrazek $imagew, //obrazek watermarku $xpos, //x-souradnice, na kterou bude vlozen //watermark ve zdrojovem obrazku $ypos, //y-souradnice, na kterou bude vlozen //watermark ve zdrojovem obrazku 0, 0, $watermarkWidth, $watermarkHeight, $transparency); //pruhlednost //ulozime obrazek do souboru, parametr 100 nastavuje //uroven komprese na nejmene ztratovou kompresi imagejpeg($image, $outputpath, 100); } + default výpis: watermarkbyimage("source.jpg", "watermark.gif", "output.jpg", 10, 10, "top", "right"); teď nevim jak to dát dohromady aby to fungovalo s onair resizem... díky moc... |
||
Alphard Profil |
#2 · Zasláno: 18. 9. 2008, 18:25:12
ta funkce pro vodoznak ukládá cílový obrázek a to by měla dělat i ta funkce pro zmenšování (současný stav resize on fly je velice neefektivní)
upravte resize pro ukládání, funkci vodoznak zavolejte po ní a pak normálně načtěte obrázek |
||
aaa Profil |
#3 · Zasláno: 18. 9. 2008, 18:32:12
resize nechci dělat tak že se bude image ukládat... u stránek neočekává žádná závratná navštěvovanost, běhá to krásně rychle na serveru na kterém to je... pak když bude třeba thumb zvětšit, tak by byl resize s ukládáním na nic. jde mi o to jak napasovat do onfly resize vodotisk... ať už je to jakým koliv skriptem...
|
||
aaa Profil |
#4 · Zasláno: 18. 9. 2008, 18:37:15
abych upřesnil. resize nedělá thumby ale resize mezi th a velkým obrázkem... ( http://czantik.justart.org/?type_place=goods_detail&id=550&img=images/ 20080917191043-13.jpg )
|
||
aaa Profil |
#5 · Zasláno: 18. 9. 2008, 18:37:46 · Upravil/a: aaa
//smazáno
|
||
Alphard Profil |
#6 · Zasláno: 18. 9. 2008, 18:43:56
je to převážně copy&paste
za imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); se vloží podstatná část těla té funkce až po imagejpeg() a zakončí se imagejpeg($thumb); samozřejmě bude potřeba synchronizovat názvy společných proměnných |
||
Časová prodleva: 16 let
|
0