Avatar billede bixen Nybegynder
27. marts 2003 - 14:25 Der er 19 kommentarer og
2 løsninger

script til thumpnails

Hvordan får jeg oprettet et thumpnail af et billede til 75*75 pixels, sådan at billedet bliver resized uden at blive grim... Altså skal et aflangt billede ikke bare presses sammen, men også blive hvid på siderne....

Håber i forstår hvad jeg mener...
Avatar billede xyborx Nybegynder
27. marts 2003 - 15:32 #1
Utroligt så tit der bliver spurgt om det... :oP Det her er vist 7. gang jeg skriver et link til min hjemmelavede resizer: www.xyborx.dk/image.php
Avatar billede bixen Nybegynder
27. marts 2003 - 19:05 #2
Oprettet den et thumpnail, eller skal den gennem koden hver gang ???

GD-extension ???
Avatar billede bixen Nybegynder
27. marts 2003 - 19:51 #3
Warning: imagecreatetruecolor(): requires GD 2.0 or later billeder.php on line 26

Warning: imagecopyresampled(): requires GD 2.0 or later
/billeder.php on line 27

Warning: imagejpeg(): supplied argument is not a valid Image resource /billeder.php on line 31

Warning: imagedestroy(): supplied argument is not a valid Image resource /billeder.php on line 35
Avatar billede neess Nybegynder
27. marts 2003 - 21:33 #4
Du har sikkert ikke slået extension GD til i php. Eller en for gammel version.
Avatar billede bixen Nybegynder
27. marts 2003 - 21:58 #5
Måske ikke.... Jeg hoster den ikke selv, så der er ikke noget at gøre der...
Avatar billede neess Nybegynder
27. marts 2003 - 22:20 #6
hvis du laver en phpinfo(); kan du se hvad der er slået til, og evt. hvad version de bruger af den
Avatar billede bixen Nybegynder
28. marts 2003 - 08:45 #7
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled
Avatar billede xyborx Nybegynder
28. marts 2003 - 15:45 #8
Hmm.. Det ser jo ikke for godt ud.. Hvis imagecreatetruecolor kræver GD 2.0, og serveren kun har 1.6.2..
Iøvrigt, GD (GD-lib / GD extension) er et sæt kommandoer der giver PHP mulighed for at arbejde med billeder (ikke 100% korrekt definition, men det giver et rimelig godt indtryk). Der findes også noget der hedder ImageMagick som efter sigende skulle være meget mere omfattende. Aner ikke hvordan man checker om det er installeret, eller hvordan det bruges.
Avatar billede bixen Nybegynder
28. marts 2003 - 15:56 #9
Det er med garanti ikke installeret på deres server.... alt deres lort er MEGA forældet.... men det er vel bare noget matematik....

if(width < height){
width = 75/height*width
height = 75
}

if(width > height){
height = 75/width*height
width = 75
}

if(width = height){
width = 75
height = 75
}

Ved ik lige hvordan det laves i php, det er sådan set derfor jeg har stillet spm'et... !
Avatar billede xyborx Nybegynder
28. marts 2003 - 18:27 #10
Problemet er at uden en ordentlig GD eller lignende, er det ikke muligt at ændre billeder.
Mht det matematiske, kan du tage et kig på det script jeg linkede til. Her er det specifikke afsnit, som udregner den nye højde og bredde:
$ratio_height=$maxheight/$height;
$ratio_width=$maxwidth/$width;
$ratio=min($ratio_width,$ratio_height);
$newwidth=$width*$ratio;
$newheight=$height*$ratio;
Avatar billede bixen Nybegynder
29. marts 2003 - 22:33 #11
Ja men hvordan laver jeg det ???
Avatar billede xyborx Nybegynder
29. marts 2003 - 22:46 #12
Hvordan du laver GD? Kan du ikke, medmindre du ejer serveren eller kan overtale administratoren til at opdatere GD-lib..
Avatar billede neess Nybegynder
30. marts 2003 - 14:10 #13
du kan godt bruge version 1,6. Der er bare nogle af funktionerne der hedder noget andet. Har vidst ikke lige thumb funktion til den gamler version liggende mere.
Avatar billede neess Nybegynder
30. marts 2003 - 14:14 #14
if (file_exists($target_file)) unlink($target_file);
  $picsize = getimagesize($source_file);
  $source_x  = $picsize[0];
  $source_y  = $picsize[1];
  $source_id = imageCreateFromJPEG($source_file);
  $target_id = imagecreate($targetsize_x, $targetsize_y);
  $target_pic = imagecopyresize($target_id, $source_id,
                  0,0,0,0,
                  $targetsize_x, $targetsize_y,
                  $source_x,$source_y);
  imagejpeg($target_id, $target_file, $quality);
Avatar billede neess Nybegynder
30. marts 2003 - 14:15 #15
Det skulle gerne virke med en version 1.6
Avatar billede bixen Nybegynder
30. marts 2003 - 20:52 #16
Det kan jeg ikke overskue...

Kan du ikke prøve at lave det til at hente billed-navnet fra MySQL (billeder med (filnavn, kategori og vis))
Avatar billede neess Nybegynder
31. marts 2003 - 08:01 #17
function JPG_thumbnail($source_file, $target_file, $targetsize_x=107, $targetsize_y=107, $quality = 75) {
if (file_exists($target_file)) unlink($target_file);
  $picsize = getimagesize($source_file);
  $source_x  = $picsize[0];
  $source_y  = $picsize[1];
  $source_id = imageCreateFromJPEG($source_file);
  $target_id = imagecreate($targetsize_x, $targetsize_y);
  $target_pic = imagecopyresize($target_id, $source_id,
                  0,0,0,0,
                  $targetsize_x, $targetsize_y,
                  $source_x,$source_y);
  imagejpeg($target_id, $target_file, $quality);
}
//Nu kalder vi vores funktion
JPG_thumbnail($uploadede_fil,$navn_på_thumbnail);

Så kan du bare kalde den funktion med de 2 vavriabler når du skal bruge den. Så kan det vidst ikke blive meget lettere.
Avatar billede bixen Nybegynder
08. april 2003 - 11:46 #18
neess> skal den ikke vide hvor den skal gemme billedet ???
Avatar billede neess Nybegynder
08. april 2003 - 12:19 #19
$uploadede_fil er stien til filen. $navn_på_thumbnail er sti
f.eks.
/pic/nytThumb.jpg
Avatar billede bixen Nybegynder
08. april 2003 - 17:30 #20
Tror ikke vi snakker om det samme....

Jeg har et system hvor man uploader et billede, og det er der thumpnailen skal dannes....
Avatar billede neess Nybegynder
08. april 2003 - 22:46 #21
ja er også et thumb som bliver dannet her. Ud fra en eksisterende fil på serveren.
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