mboost-dp1
PHP: Resize billede
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Go aften derude...
Jeg er ved at lave et lille script som gerne skulle kunne resize et par billeder og så outputte det til browseren.
Min HTML kode ser således ud:
[url=P6150001.JPG]
<img src="<?php MakeThumb('P6150001.JPG') ?>" border="0">
[/url]
Funktionen der bliver kaldt er denne:
function MakeThumb($file) {
// Get new dimensions
list($width, $height) = getimagesize($file);
// New dimensions
$new_width = "755";
$new_height = "566";
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output
imagejpeg($image_p, NULL, 100);
}
Output skal altså ikke blive gemt til en fil men bare blive vist i browseren.
Jeg mener at kunne huske at det er noget med man skal putte den her ind et sted, men hvor? :)
Header ("Content-type:image/jpeg");
Mvh
Jace
Jeg er ved at lave et lille script som gerne skulle kunne resize et par billeder og så outputte det til browseren.
Min HTML kode ser således ud:
[url=P6150001.JPG]
<img src="<?php MakeThumb('P6150001.JPG') ?>" border="0">
[/url]
Funktionen der bliver kaldt er denne:
function MakeThumb($file) {
// Get new dimensions
list($width, $height) = getimagesize($file);
// New dimensions
$new_width = "755";
$new_height = "566";
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($file);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Output
imagejpeg($image_p, NULL, 100);
}
Output skal altså ikke blive gemt til en fil men bare blive vist i browseren.
Jeg mener at kunne huske at det er noget med man skal putte den her ind et sted, men hvor? :)
Header ("Content-type:image/jpeg");
Mvh
Jace
Øhm, tror ikke du skal outputte billedets indhold direkte i src="".
Derimod ville jeg nok snarere lave en seperat php fil, evt. makethumb.php?file=billede.jpg og så lade den returnere indholdet, som var det et billede.
Derimod ville jeg nok snarere lave en seperat php fil, evt. makethumb.php?file=billede.jpg og så lade den returnere indholdet, som var det et billede.
Okay, det virker rigtigt godt den måde du forklarede - tak for det.
Desværre er det dog alt for langsomt hvis den skal resize billederne hver gang, så jeg kommer vist til at lave nogle statiske filer istedet. Jeg prøvede at sætte kvaliteten ned til 10 men det tager stadig over 2 min for 40 billeder.
Der er ikke en måde man kan optimere det mere på så den kan resize hurtigere?
Desværre er det dog alt for langsomt hvis den skal resize billederne hver gang, så jeg kommer vist til at lave nogle statiske filer istedet. Jeg prøvede at sætte kvaliteten ned til 10 men det tager stadig over 2 min for 40 billeder.
Der er ikke en måde man kan optimere det mere på så den kan resize hurtigere?
Måske, men du kan også gøre som jeg gør.
Inden du resizer tjekker du om en thumb fil findes i forvejen, hvis den gør så send den, ellers generer og gem thumbnailen
Så skal den ikke genereres næste gang.
Bruger det her
http://ronson.dk/gallery/
Inden du resizer tjekker du om en thumb fil findes i forvejen, hvis den gør så send den, ellers generer og gem thumbnailen
Så skal den ikke genereres næste gang.
Bruger det her
http://ronson.dk/gallery/
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.