|
[ 01011011 @ 06.06.2005. 20:14 ] @
| Pozdrav,
evo ostavio sam dole na proslom topiku ali mi je ffloyd rekao da napravim novi topik. Imam slike koje zelim da smanjim na sirinu 60 px i onda da uradim nesto poput canvas size ( photoshop ) i da smanjim i visinu na 60 px.
Code:
<?php
Header("Content-type: image/jpeg");
$orig_image = imagecreatefromjpeg($slika);
list($width, $height, $type, $attr) = getimagesize($slika);
if ($width > 60) {
$ratio = 60 / $width;
else if ($height > 60) {
$ratio = 60 / height; }
$newheight = $ratio * $height; }
else $newheight = $height;
$sm_image = imagecreatetruecolor(60,$newheight) or die ("Ouppps!!!");;
Imagecopyresampled($sm_image,$orig_image,0,0,0,0,60,$newheight,imagesx($orig_image),imagesy($orig_image));
imageJPEG($sm_image);
imagedestroy($sm_image);
imageDestroy($orig_image);
?>
Ovako izgleda code sad, koji smanjiva sirinu, e sad ovaj code automatski pravi proporcionalnu velicinu, razlog za ovo je sto ne zelim da mi se slika strechuje. E sad da li je moguce uraditi canvas i kako da se samo jedna strana slike smanji na 60.
Skontao sam da ce biti problem ukoliko imam slike koje su horizontalne bice bijeli prostor ispod njih to cu poslije morati da skontam kako da odradim, ali jednostavno mi je potrebno ovo za sad.
hvala |
[ 01011011 @ 06.06.2005. 20:59 ] @
Zbog nekog razloga mi radi ovo na jednom serveru a na drugom ne radi, da li je to moguce zbog GD libs??? Da li moraju da budu instalirane ?
[ 01011011 @ 07.06.2005. 16:52 ] @
Upravo zbog GD libs, instalirao sam na drugom serveru...
da li neko zna odgovor na moje prvo pitanje ?
[ burtonium @ 07.06.2005. 20:29 ] @
pogledaj kako ti je na serveru ograniceno koriscenje memorije. koliko moze tvoj hosting account memorije da potrosi. ja sam imao isti problem. Na mome serveru gde nemam limita sve radi okej. dok recimo kod providera imam ogranicenje na 20mb po procesu, tako da mi 2mb jpg sliku uopste ne uspe da pretvori.
nadam se da je to to ....
[ 01011011 @ 07.06.2005. 22:59 ] @
Sredio sam to, imam ja shell pristup serveru pa non stop nesto caprkam :)
Nego me interesuje jel moze da se uradi canvas size da mi slike kad ih stavim 60 X 60 ne budu rasirene ili skupljene??? Jel zna neko ovo?
[ flylord @ 07.06.2005. 23:13 ] @
uzmes jednu sliku, i onda preko nje stavis drugu :) Vrlo je prosto, ajd kad ti je ionako dosadno pogledaj po helpu da to uradis :)
Code:
$image_id = imagecreatefromjpeg($im);
$backgroundimage = imagecreatefromjpeg($backgroundfile);
// merge the two together with alphablending on!
ImageAlphaBlending($backgroundimage, true);
imagecopy($backgroundimage, $image_id, 0, 0, 0, 0, $im_X, $im_Y);
[ 01011011 @ 07.06.2005. 23:21 ] @
Ma nije mi dosadno preokupiran sam imam nekog klijenta koji je seljak hoce sve da sredim do 14tog, inace nece platiti drugu polovinu para, a sve sa slikama je a mrzim raditi sa slikama, to me ubija...
[ flylord @ 08.06.2005. 13:57 ] @
Nema potrebe se bre opravdavas :) Salio sam se zbog jednog tvog komentara na drugoj temi :) A mogao si usput da kazes da li ti je sta pomoglo ovo gore, posto mene mrzi da pisem bas sve :) Samo sam ti dao jednu ideju kako mozes da to odradis sa slikama, sto si hteo...
[ 01011011 @ 08.06.2005. 15:17 ] @
Mene interesuje da li ovo sto si ti objasnio stavlja samo posadinu boje da popuni ostatak slike jer to mi bas i ne treba, onda imam okolo slikice crno ili neka druga boja...ili ovo gore ustvari sasjece sliku sa jedne strane da je napravi tom velicinom?
[ flylord @ 08.06.2005. 15:22 ] @
a ne. Sa ovim napravis jedan kanvas sliku, onda resajzujes tvoju sliku koju hoces, zalepis je sa ovim kodom na kanvas, i onda imas uvek slike tacno definisanih dimenzija. Kolko sam shvatio ti to i hoces
[ 01011011 @ 08.06.2005. 16:15 ] @
Da tacno tako :)
imas li neki primjer od ovoga da pogeldam?
hvala
[ flylord @ 08.06.2005. 16:19 ] @
pa dao sam ti kod koji to radi, pogledaj ga malo :)
[ 01011011 @ 08.06.2005. 18:18 ] @
Ajde mi malko ovo pojasni, ili pomogni evo ti mog koda sad sto koristim.
Code:
<?php
// useage is thumbnail.php?im=imagename.jpg
// set for 120 px thumb
Header("Content-type: image/jpeg");
$orig_image = imagecreatefromjpeg($im);
list($width, $height, $type, $attr) = getimagesize($im);
if (($width > $height) && ($width > 60))
{
$ratio = 60 / $width;
$newheight = $ratio * $height;
}
else if (($width < $height) && ($height > 60))
{
$ratio = 60 / $height;
$newheight = $ratio * $width;
}
else
$newheight = $height;
$sm_image = imagecreatetruecolor(60,$newheight) or die ("Cannot Initialize new gd image stream");;
Imagecopyresampled($sm_image,$orig_image,0,0,0,0,60,$newheight,imagesx($orig_image),imagesy($orig_image));
imageJPEG($sm_image);
imagedestroy($sm_image);
imageDestroy($orig_image);
?>
E sad ovo samo shrinkuje al ne pravi kanvas :(
Sta ne razumijem je ove tvoje linije sta rade, da li si mogoa mlko komentara ostaviti ...
ili mi pomoci da prepravim moj code da radi...
Hvala.
[ 01011011 @ 08.06.2005. 18:44 ] @
SKontao sam, :)
Evo i ostalima ako bude trebalo ovo za reference:)
Code:
<?php
Header("Content-type: image/jpeg");
$orig_image = imagecreatefromjpeg($im);
list($ow, $oh) = getimagesize($im);
$big = imagecreatefromjpeg($im);
$thumb = imagecreatetruecolor(60,60);
if ($ow > $oh) {
$off_w = ($ow-$oh)/2;
$off_h = 0;
$ow = $oh;
} elseif ($oh > $ow) {
$off_w = 0;
$off_h = ($oh-$ow)/2;
$oh = $ow;
} else {
$off_w = 0;
$off_h = 0;
}
imagecopyresampled($thumb, $big, 0, 0, $off_w, $off_h, 60, 60, $ow, $oh);
imageJPEG($thumb);
imagedestroy($thumb);
imageDestroy($big);
?>
Pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|