Avatar billede lazlowdk Nybegynder
19. februar 2005 - 14:39 Der er 24 kommentarer og
1 løsning

ændre størrelse med GD lib

hvordan kan jeg ændre et billede til en bestemt størrelse via GD lib...
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 14:42 #2
men er der ikke nogen der kan skære et der står lidt ud i pap?
Avatar billede coderdk Praktikant
19. februar 2005 - 14:44 #3
Example 2. Resampling an image proportionally

This example will display an image with the maximum width, or height, of 200 pixels.
<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 200;
$height = 200;

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

if ($width && ($width_orig < $height_orig)) {
  $width = ($height / $height_orig) * $width_orig;
} else {
  $height = ($width / $width_orig) * $height_orig;
}

// Resample
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);
?>
Avatar billede coderdk Praktikant
19. februar 2005 - 14:44 #4
Det bliver vidst ikke skåret bedre ud i pap end på eksemplet for imagecopyresampled ;)
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 14:46 #5
hvis alle billeder nu bare skal være 100 * 100 hva så?
Avatar billede coderdk Praktikant
19. februar 2005 - 14:47 #6
Så vil jeg gætte på at du skal ændre:

// Set a maximum height and width
$width = 200;
$height = 200;
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 14:50 #7
hen hvis de nu er under 100 * 100 så vil der jo ikke ske noget...
Avatar billede coderdk Praktikant
19. februar 2005 - 14:52 #8
Hvis du læser koden, så vil den resize op eller ned til 100x100, så jo.
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 14:55 #9
hvordan kan man tjekke hvilken udgave af GD lib der er på serveren...
Avatar billede coderdk Praktikant
19. februar 2005 - 14:58 #10
<?php phpinfo(); ?> - der kan du se alt muligt sjovt :)
Avatar billede Slettet bruger
19. februar 2005 - 15:00 #11
med imagejpeg(), hvor kommer billedet så hen?, bliver variablen $filename sat til billedet oder was?
Avatar billede coderdk Praktikant
19. februar 2005 - 15:03 #12
I eksemplet spytter den det bare ud til skærmen (derfor eksemplet også sætte header/content-type). Hvis den skal skrive til en fil, skal du skrive filnavnet som 2. parameter i imagejpeg, i stedet for "null" - 100 er så kvalitet.
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:07 #13
hvordan og hvor står det
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:09 #14
hvad hvis man kun kar GD 1.6.2 og den skal bruge 2.0 i eksemplet?
Avatar billede coderdk Praktikant
19. februar 2005 - 15:15 #15
Så bliver kvaliteten sikkert ikke så god, prøv at erstatte imagecreatetruecolor med imagecreate og imagecopyresampled med imagecopyresized
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:19 #16
ævs... nu skriver den bare en masse vrøvl:


ŽÜ¹;ŒlæËü®ñ¡w);@%Fõž£š|R«éó*¶0ß(%£q‘ò– 7;dSÁÛÏÔû%Ën·º[ôJÚ÷¶¾º­¾)JÝ4åQµÝݤÜžº¤•¯m5æNJ_¯ÿ°ìžoÂo6AÛñXBÁ÷ndðï…Û  ÃÔdyEåݱJÏýƒÂÅŠüJÖÌÛÙâ—ðs'× Aœç+žK–MvÓúþ¾ãE²²²²²½í§w«ùßÕî~0שø7ýe¿ûúgþ„ÔQ]’ÙŠú\LVÿ)~Lô þAÞ#ÿ°Eïþ›u*vÿ$âËþ¹jßúS«QEx9§û½?úù‡ÿÒñÝðßðª†?ú“ŸøŸÿ"Gßúá¨è»*ñ«?ø÷½ÿ®kÿ MEèåÿî«þ¿â?õ*¡òòÿ‘„>úDÔˆ¿òøÿd²ÃÿL³×Ò_±/ü›¤ÿöøÿ¦Ê(¯Ì8þDxoû`?õ34?màÏù)q_ö.Îÿõ™É ðßü~xûþÊ~·ÿ§¿ˆÕð?Ä_ù(þ3ÿ±—Äúvz(¯†ÿäo›ÿ׬þ›™ùçÉ5•‡ˆ?õ>‘_ÇŇýv?ú5N߬õÆ/ý9­Wߟ~ÂþÀòG
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:22 #17
hvad gik der galt??
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:26 #18
min kode:

// The file
$filename = "img/1.jpg";

// Set a maximum height and width
$width = 100;
$height = 100;

// Get new dimensions
list($width_orig, $height_orig) = getimagesize($filename);

if ($width && ($width_orig < $height_orig)) {
  $width = ($height / $height_orig) * $width_orig;
} else {
  $height = ($width / $width_orig) * $height_orig;
}

// Resample
$image_p = imagecreate($width, $height);
$image = imagecreatefromjpeg($filename);
imagecopyresized($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Output
imagejpeg($image_p, null, 100);

og så har jeg sat header('Content-type: image/jpeg'); i toppen af siden...
Avatar billede coderdk Praktikant
19. februar 2005 - 15:26 #19
Prøv at fjerne header() kaldet og ændre:

imagejpeg($image_p, null, 100);

til:

imagejpeg($image_p, "nytfilnavn.jpg", 90);

Så skriver den billedet til nytfilnavn.jpg - bemærk at webserveren skal have skriveadgang til den folder du vil skrive billedet i.
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:29 #20
Warning: imagejpeg: unable to open 'temp/1.jpg' for writing
Avatar billede lazlowdk Nybegynder
19. februar 2005 - 15:30 #21
det skal jeg tolke som om den IKKE har adgang eller?
Avatar billede coderdk Praktikant
19. februar 2005 - 15:30 #22
...bemærk at webserveren skal have skriveadgang til den folder du vil skrive billedet i.
Avatar billede coderdk Praktikant
19. februar 2005 - 15:30 #23
Nemlig ;)
Avatar billede Slettet bruger
19. februar 2005 - 15:53 #24
chmod til 777
Avatar billede lazlowdk Nybegynder
20. april 2005 - 11:24 #25
dfb
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