[ Frane Marinković @ 07.07.2005. 21:17 ] @
može mi tkopomoč molim vas?
treba mi sljedeče:

php kod ne treba biti složen ni po redu, ništa samo da radi kad se ispunim
znači:
imam sliku recimo bezveze 589*478, i sad ja postavim kod na djelu stranice, i taj kod mora da mi prikaže tu sliku, samo umanjenu npr ako postavim 100*100 (on automatski sliku smanjuje da stane u okvir 100*100, ne da je razduži i taman stane u 100*100), i kad se klikne na tu umanjenu sliku da se otvori novi prozor, sa zadanim titlom u veličini 589*478.
Hvala svima!
server podržava GD1,GD2,...
[ boccio @ 08.07.2005. 07:46 ] @
A kako to da ti pomognem? Da napisem kompletan kod za tebe? Moze, samo da prebacim ovu temu u "Berza poslova", nikakav problem...

U suprotnom, hajd' lepo pogledaj tutorijale za pravljenje thumbnail-ova preko GD-a ili ImageMagic-a, ili analiziraj neki prosti Image Gallery skript, pa da vidimo gde je zapelo.

Jos jednom molba svim korisnicima:
NE OCEKUJTE DA VAM IKO OVDE PISE KOMPLETNE SKRIPTE! OVDE PRUZAMO POMOC JEDNI DRUGIMA, NE DAJEMO CUT'N'PASTE RESENJA ZA ONE KOJI NECE SAMI DA UCE!
[ Br@nkoR @ 08.07.2005. 07:47 ] @
ImageCopyResized()
[ Frane Marinković @ 08.07.2005. 08:52 ] @
bila je nedavno neka tema sa kodom za smanjenje slika u GD2, pa pošto si modarator mogao si samo baciti link ako sve pratiš, ali Ok!
[ Frane Marinković @ 08.07.2005. 08:54 ] @
@Br@nko
THX!!!
[ 365 @ 08.07.2005. 09:05 ] @
Citat:
Frane Marinković:
bila je nedavno neka tema sa kodom za smanjenje slika u GD2, pa pošto si modarator mogao si samo baciti link ako sve pratiš, ali Ok!

Naravno da nije ok. Ako već znaš da je nedavno bila takva tema, nađi je sam, a ne da očekuješ da je moderator traži za tebe.

[Ovu poruku je menjao 365 dana 08.07.2005. u 10:05 GMT+1]
[ Frane Marinković @ 08.07.2005. 09:35 ] @
Nisam mislio OK? kao očeš pronač nego Ok! Dobro i hvala!

nego evo da se ne prepiremo kako da stavim u ovaj kod kad se klikne na sliku da se slika otvori u orig veličini?
Code:

<?php

$slika = $_GET['ime'];
$tip = $_GET['tip'];
$visina = $_GET['vis'];
//širina nije potrebna pa sam stavio vrijednost "0"

$picname = resizepics("$slika.$tip", "$visina", "0");
echo $pickname;
//Error
die( "<font color=\"#FF0066\"><center><b>Krivo unešena datoteka :(<b></center></FONT>");
//Funcion resizepics
function resizepics($pics, $newwidth, $newheight){
     if(preg_match("/.jpg/i", "$pics")){
           header('Content-type: image/jpeg');
     }
     if (preg_match("/.gif/i", "$pics")){
           header('Content-type: image/gif');
     } 
     list($width, $height) = getimagesize($pics);
     if($width > $height && $newheight < $height){
       $newheight = $height / ($width / $newwidth);
     } else if ($width < $height && $newwidth < $width) {
       $newwidth = $width / ($height / $newheight);    
     } else {
       $newwidth = $width;
       $newheight = $height;
   }
   if(preg_match("/.jpg/i", "$pics")){
   $source = imagecreatefromjpeg($pics);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   $source = imagecreatefromjpeg($pics);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   $source = Imagecreatefromjpeg($pics);
   }
   if(preg_match("/.png/i", "$pics")){
   $source = imagecreatefrompng($pics);
   }
   if(preg_match("/.gif/i", "$pics")){
   $source = imagecreatefromgif($pics);
   }
   $thumb = imagecreatetruecolor($newwidth, $newheight);
   imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
   return imagejpeg($thumb);
   if(preg_match("/.jpg/i", "$pics")){
   return imagejpeg($thumb);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   return imagejpeg($thumb);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   return imagejpeg($thumb);
   }
   if(preg_match("/.png/i", "$pics")){
   return imagepng($thumb);
   }
   if(preg_match("/.gif/i", "$pics")){
   return imagegif($thumb);
   }
 }
 
echo ("<a href=$slika.$tip>$thumb</a>");
?> 

kod je uzet sa php.net samo je malo izmjenjen
[ MileG @ 08.07.2005. 10:29 ] @
Code:

# Constants 
define(IMAGE_BASE, '/var/www/html/mbailey/images');
define(MAX_WIDTH, 150);
define(MAX_HEIGHT, 150);

# Get image location 
$image_file = str_replace('..', '', $_SERVER['QUERY_STRING']);
$image_path = IMAGE_BASE . "/$image_file";

# Load image
$img = null;
$ext = strtolower(end(explode('.', $image_path)));
if ($ext == 'jpg' || $ext == 'jpeg') {
    $img = @imagecreatefromjpeg($image_path);
} else if ($ext == 'png') {
    $img = @imagecreatefrompng($image_path);
# Only if your version of GD includes GIF support
} else if ($ext == 'gif') {
    $img = @imagecreatefrompng($image_path);
}

# If an image was successfully loaded, test the image for size
if ($img) {

    # Get image size and scale ratio
    $width = imagesx($img);
    $height = imagesy($img);
    $scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);

    # If the image is larger than the max shrink it
    if ($scale < 1) {
        $new_width = floor($scale*$width);
        $new_height = floor($scale*$height);

        # Create a new temporary image
        $tmp_img = imagecreatetruecolor($new_width, $new_height);

        # Copy and resize old image into new image
        imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, 
                         $new_width, $new_height, $width, $height);
        imagedestroy($img);
        $img = $tmp_img;        
    }    
}

# Create error image if necessary
if (!$img) {
    $img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
    imagecolorallocate($img,0,0,0);
    $c = imagecolorallocate($img,70,70,70);
    imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
    imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
}

# Display the image
header("Content-type: image/jpeg");
imagejpeg($img);
[ Frane Marinković @ 13.07.2005. 12:25 ] @
Ali na klik se ne otvara originalna slika u novom pozoru. Možda da spojim javu i php?
[ MileG @ 13.07.2005. 12:40 ] @
Za to je dovoljno i php + html
[ byM4k5 @ 13.07.2005. 17:45 ] @
Moze i JS, mada ne treba, bar ako neces novi prozor odredjene velicine.
[ Frane Marinković @ 13.07.2005. 18:07 ] @
Kako da spojim sa HTML -om sve sam pokušavao, možda tiimaš varijantu koju nisam probao?
[ MileG @ 13.07.2005. 22:38 ] @
echo '<a href="nesto.php?"><img src="resize.php?slika=putanjadoslike" /></a>';
pa onda malo izmijeni resize.php prihvati promenjivu slika i mijenjaj resize.php u skladu sa tim.
[ Frane Marinković @ 15.07.2005. 18:22 ] @
THX! @MileG Puno si pomogao!
[ Frane Marinković @ 15.07.2005. 18:43 ] @
@MileG samo koliko znam kod izgleda ovako
Code:

echo "<a href='nesto.php?'><img src='resize.php?slika=putanjadoslike' /></a>";


Evo kako sve skupa glasi!!!

sastoji se od dvije datoteke i može se koristiti za bilo koji tip slike bilo gdje na netu!


1 file je kretak a zove se slike.php

Code:

<?php
$slika = $_GET['ime'];
$tip = $_GET['tip'];
$visina = $_GET['visina'];

echo "<a href='$slika'><img src='mjenjanje.php?ime=$slika&tip=$tip&visina=$visina' /></a>";
?> 



drugi se zove mjenjanje.php

Code:


<?php

$slika = $_GET['ime'];
$tip = $_GET['tip'];
$visina = $_GET['visina'];



$picname = resizepics("$slika.$tip", "$visina", "0");
echo $pickname;
//Error
die( "<font color=\"#FF0066\"><center><b>Krivo unešena datoteka :(<b></center></FONT>");
//Funcion resizepics
function resizepics($pics, $newwidth, $newheight){
     if(preg_match("/.jpg/i", "$pics")){
           header('Content-type: image/jpeg');
     }
     if (preg_match("/.gif/i", "$pics")){
           header('Content-type: image/gif');
     } 
     list($width, $height) = getimagesize($pics);
     if($width > $height && $newheight < $height){
       $newheight = $height / ($width / $newwidth);
     } else if ($width < $height && $newwidth < $width) {
       $newwidth = $width / ($height / $newheight);    
     } else {
       $newwidth = $width;
       $newheight = $height;
   }
   if(preg_match("/.jpg/i", "$pics")){
   $source = imagecreatefromjpeg($pics);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   $source = imagecreatefromjpeg($pics);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   $source = Imagecreatefromjpeg($pics);
   }
   if(preg_match("/.png/i", "$pics")){
   $source = imagecreatefrompng($pics);
   }
   if(preg_match("/.gif/i", "$pics")){
   $source = imagecreatefromgif($pics);
   }
   $thumb = imagecreatetruecolor($newwidth, $newheight);
   imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
   return imagejpeg($thumb);
   if(preg_match("/.jpg/i", "$pics")){
   return imagejpeg($thumb);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   return imagejpeg($thumb);
   }
   if(preg_match("/.jpeg/i", "$pics")){
   return imagejpeg($thumb);
   }
   if(preg_match("/.png/i", "$pics")){
   return imagepng($thumb);
   }
   if(preg_match("/.gif/i", "$pics")){
   return imagegif($thumb);
   }
 }
?> 




da sve radi kako treba otvorite stranicu slika.php, ali na način
Code:

....slika.php?ime=|-ime_slike(bez_jpg,gif,...)-|&tip=|-tu stavite tip gif, jpg,...-|&visina=|-stavite visinu koju želite|



čak mi je radilo ako stavim ove datoteke u jedan direktorij i s njima stavim neku sliku npr. jadibjeda.jpg kad utipkam u address bar ..../datoteka/jadibjeda on otvara tu sliku

možda je to narmalno, ispravite me, ali za mene je to novo!
[ Frane Marinković @ 15.07.2005. 18:58 ] @
zaboravio sam dodati ako hočete da vam se slika otvori u novom prozoru originalne veličine samo stavite ovo
Code:
echo "<a href='$slika' target=_blank><img src='mjenjanje.php?ime=$slika&tip=$tip&visina=$visina' /></a>";
u slika.php