Avatar billede ossi Nybegynder
22. juni 2003 - 12:58 Der er 10 kommentarer og
1 løsning

Resize af billede

Jeg forsøger lige nu at få Resizing af billeder til at virke med denne kode:

<?
$src = ImageCreateFromJPEG('01.jpg');
$thumb = ImageCreate(120,120);
ImageCopyResized($thumb,$src,0,0,0,0,120,120,ImageSX($src),ImageSY($src));
ImageJPEG($thumb,'small_01.jpg','50');
?>

(fundet et andet sted her på eksperten)

Problemet er bare at den laver om på farverne.. Se nedenstående eksempel...

Hvordan laves det lidt bedre?

http://n-club.dk/gfx/news/261/01.jpg
http://n-club.dk/gfx/news/261/small_01.jpg
Avatar billede p-s Nybegynder
22. juni 2003 - 13:00 #1
har du prøve det her

<img src=".jpg" border="0" title="" width="700" height="120" >

husk hvis det skal virke som link skald er tilføjes noget
Avatar billede p-s Nybegynder
22. juni 2003 - 13:01 #2
tallene skal lige ændres.
har ik prøvet det men du kan da se om det virker
Avatar billede ossi Nybegynder
22. juni 2003 - 13:02 #3
Jeg forstår ikke helt hva du mener.....
Avatar billede p-s Nybegynder
22. juni 2003 - 13:02 #4
du vil have lavet et billede mindre ik !!
Avatar billede ossi Nybegynder
22. juni 2003 - 13:04 #5
Jo? jeg vil lave et billede mindre via PHP?
Avatar billede p-s Nybegynder
22. juni 2003 - 13:04 #6
ahh min fejl du bruger php det der var html :D
Avatar billede ossi Nybegynder
22. juni 2003 - 13:04 #7
Jeg kender da godt HTML metoden, men den er for langsom til mit formål... derfor skal jeg ha PHP ind!
Avatar billede p-s Nybegynder
22. juni 2003 - 13:05 #8
ok, da kan jeg ikke hjælpe desværre :/
Avatar billede whatever Nybegynder
22. juni 2003 - 13:06 #9
Prøv at benytte ImageCopyResampled istedet for ImageCopyResized, dette giver normalt en meget bedre billedkvalitet. Se mere her: http://dk.php.net/manual/en/function.imagecopyresampled.php
Avatar billede hmortensen Nybegynder
22. juni 2003 - 13:43 #10
Jeg har en stump upload kode som er fundet her på eksperten, som jeg har ændret lidt i.

Den laver en thumpnail af billedt, som er lidt det du skal bruge tror jeg:

include("connect.php");
    $indsaet="INSERT INTO tabel VALUES ('', '$image_name', '$tekst', '$s_user')";
    $result = mysql_query($indsaet) or die(mysql_error());
    $fileid = mysql_insert_id() ;
    $nynavn = "upl" . $fileid ;
    $image_name = explode(".", $image_name);
    $image_name = $nynavn . "." . $image_name[1];
    move_uploaded_file ($image, /test/$image_name") or die(mysql_error());
    $rename = "UPDATE tabel SET image='$image_name' WHERE id=$fileid";
    $renameres = mysql_query($rename) or die(mysql_error());     
    chmod /test/$image_name", 0777);
    $image_dir = "/test/";
    //set quality parameter
        $quality = 50;
        //Get size of big image
        $src_dim = getimagesize($image_dir.$image_name);
    $file_type = strtolower(substr($image_name,-3));
       
            $dest_width = 100;
            $dest_height = 100;

        }
        //Create thumb dependent of image type
        if($file_type == "jpg"){
           
            //Create a image in buffer from source image
            $src_img = imagecreatefromjpeg("$image_dir"."$image_name");
           
            //Create distination image in buffer with correct dimensions
            $dst_img = imagecreatetruecolor($dest_width,$dest_height);
           
            //Copy the image from source to destination
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,
            $dest_height, $src_dim[0], $src_dim[1]);
            imagejpeg($dst_img, $image_dir."/thumbs/$image_name", $quality);
        chmod ("/test/thumbs/$image_name", 0777);
       
            //Destroy the buffers
            imagedestroy($src_img);
            imagedestroy($dst_img);
       
        } elseif ($file_type == "png"){
       
            $src_img = imagecreatefrompng("$image_dir/$image_name");
            $dst_img = imagecreatetruecolor($dest_width,$dest_height);
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,
            $dest_height, $src_dim[0], $src_dim[1]);
            imagepng($dst_img, "$image_dir/thumbs/$image_name", $quality);
            imagedestroy($src_img);
            imagedestroy($dst_img);
       
        } elseif($file_type == "gif"){
            if(!copy($file, "$image_dir/thumbs/$image_name")) {
                error("Unable to create $dest - check permissions<br>\n");
            }
        } else {
          echo "Forkert filtype. Det er kun muligt at uploade billeder af filtypen *.gif, *.jpg, *.png";
        }
Avatar billede avminarm Juniormester
23. juni 2003 - 15:40 #11
det her virker - billedet hentes godt nok i den DB, men det kan nemt rettes til:

  $height = 100;
  $width = 80;

  $picid=addslashes($_GET['id']);

  $result=mysql_query("select billede, billede_type from ".$prefix."_brugere where id='$picid'") or die (mysql_error());
  while($row = mysql_fetch_array($result)){
  $type = $row['billede_type'];
  header('Content-Type: image/$type');

  if(empty($row['billede'])){
  $nopic = "skin/".$using."/image/nopic.jpg";
  $src_img = imagecreatefromjpeg($nopic);
  }else{
  $src_img = imagecreatefromstring($row['billede']);
  }
  $dst_img = imagecreatetruecolor($width, $height);
  imagecopyresampled($dst_img, $src_img, 0,0,0,0, $width,$height, imagesx($src_img), imagesy($src_img));
  imagejpeg($dst_img);
  }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester