Avatar billede dragonbook Nybegynder
21. oktober 2004 - 21:40 Der er 9 kommentarer og
1 løsning

Resize Jpg filer live ?

Jeg er ved at lave en sektion med wallpapers, her vil jeg gøre det muligt at downloade billedet i 3 forskellige opløsninger nemlig:
800x600, 1024x768 og 1280x960 som så mange andre sider også gør.

Men jeg tænkte på om det ikke er muligt at nøjes med at uploade en jpg fil i 1280x960 og så få et script til at resize denne fil hvis en bruger vil have en mindre opløsning ?

Den resizeste fil skulle gerne åbnes i et nyt vindue og kun ligge på brugerens pc, ikke på min server.

På denne måde kan jeg spare en del plads og derfor lægge billeder af en bedre kvalitet på nettet.

MEN kan dette overhovedet lade sig gøre, og i så fald hvordan ?

Håber i kan hjælpe, da jeg har forsøgt at finde noget på nettet uden held !
Avatar billede bredker Nybegynder
21. oktober 2004 - 21:41 #1
du må kun have et spm om det samme
luk det ene igen
Avatar billede dragonbook Nybegynder
21. oktober 2004 - 21:50 #2
Ja ved det godt kom lige til at ligge den forkert, den anden er lukket.
Avatar billede olebole Juniormester
21. oktober 2004 - 21:59 #3
<ole>

http://dk2.php.net/manual/en/function.imagecopyresampled.php
... og kike evt. i de andre GDLib-funktioner. Der er også i hundredevis af besvarede spørgsmål her i kategorien, du kan søge på  :)

/mvh
</bole>
Avatar billede dragonbook Nybegynder
22. oktober 2004 - 12:53 #4
Scriptet fra http://dk2.php.net/manual/en/function.imagecopyresampled.php,
løser næsten mit problem.

Men hvis jeg skal bruge denne skal jeg jo oprette en fil der indeholder nedstående script, til hver fil i to opløsninger, dvs. hvis jeg har 10 billeder skal jeg have 20 af disse "script" filer. Da jeg skal skrive et nyt fil navn samt størrelse til hver af de forskellige billeder.

Er det muligt at skrive scriptet om, så $filename, $width og $height evt. kunne deffineres i et link, der linker til dette script som f.eks. kunne ligge i resize.php

<?php
// The file
$filename = 'test.jpg';

// Set a maximum height and width
$width = 800;
$height = 600;

// 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 dragonbook Nybegynder
22. oktober 2004 - 13:56 #5
Når jeg bruger scriptet og prøver at resize et billede på 1280x960 til 800x600

får jeg følgende fejl:

Fatal error:  Allowed memory size of 8388608 bytes exhausted (tried to allocate 4096 bytes) on line 23

Jeg har prøvet at gemme filen i en dårliger jpg kvalitet men der sker det samme !

Hvad kan det skyldes og hvordan kan jeg evt. rette det ?
Avatar billede dragonbook Nybegynder
22. oktober 2004 - 18:28 #6
Det er egentligt meget mærkeligt da jeg godt kan resize billedet på 1280x960 til f.eks. 200x200, har også prøvet et andet "script" denne vil heller ikke resize billedet til 800x600 men uden problemer til 200x200 !

Nogen der en ide om hvad det kan være ?

Jeg benytter b-one kan det være noget på deres server der ikke dur ?
Avatar billede olebole Juniormester
22. oktober 2004 - 21:22 #7
Jeg tror ikke, du er helt klar til dette endnu. Hvis du mener, du har brug for 20 scrip-filer, bør du nok lære lidt helt grundlæggende scripting ... om brugen af funktioner, m.m.m  :)
/mvh
Avatar billede dragonbook Nybegynder
22. oktober 2004 - 21:56 #8
Jeg ved godt at man ikke behøver at bruge 20 filer, men som du jo også har bemærket er jeg ikke prof i php (mildt sagt).
Det er jo netop derfor jeg spørger, det kunne jo være der var en der viste hvordan det kunne gøres :-)
Avatar billede dragonbook Nybegynder
26. oktober 2004 - 15:54 #9
olebole smid lige et svar. Jeg har fundet ud af det.
Avatar billede dragonbook Nybegynder
02. februar 2005 - 15:26 #10
Lukket
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