Avatar billede mekaniker Nybegynder
21. marts 2004 - 14:33 Der er 12 kommentarer og
1 løsning

Resize af billede

Jeg har nogle rigtig store billeder liggende, de ligger i 300ppi og er ca 2000 x 1600 pixels og fylder ca 1 - 1,5 MB
Formatet er *.jpg

Jeg tænkte om der var en måde hvor jeg kunne undgå at loade hele billedet til browseren. Den skal ikke gemme det rezised billede, den skal bare resize og vise det.

Kan dette lade sig gøre, og hvordan..?
Avatar billede fangel Nybegynder
21. marts 2004 - 15:02 #1
det kan sagtens lade sig gøre... jeg har på en PHP-klasse der kan klare det...

kilde kode:
http://sportsreactor.fangel.linux.dk/thumbnail-test.php

den første del gemmer du i en fil og inkludere den fil på de sider hvor du har brug for den... eksemplet forklare hvordan du bruger den...

Morten
Avatar billede mekaniker Nybegynder
21. marts 2004 - 15:23 #2
jeg får denne fejl i class filen i linie 112

Call to undefined function: exif_imagetype() in
Avatar billede mekaniker Nybegynder
21. marts 2004 - 15:33 #3
Har det noget at sige at min fil er en jpg
Avatar billede mekaniker Nybegynder
21. marts 2004 - 15:36 #4
Og hvordan får jeg skrevet billedet ud til browseren, jeg er ikke lige så stærk i classes
Avatar billede fangel Nybegynder
21. marts 2004 - 15:39 #5
fejlen skyldes at klassen kan håndtere en mængde forskellige billedetyper (ok, kun png, gif og jpeg) og derfor skal finde ud af hvilken en af typerne det er... det bruges funktionen exif_imagetype() til, men denne er ikke en standard funktion og skal "slås til" når man compiler PHP... så hvis du kører fra et webhotel er der ikke meget hjælp...

du kan google lidt efter nogle klasser der er mindre advanceret eller benytter en anden måde at lave det trick jeg laver på (man kan også med en anden funktion, men den er meget langsommere)

Morten
Avatar billede mekaniker Nybegynder
21. marts 2004 - 15:46 #6
Jeg skal kun bruge det til gif og jpg, og det kører på min egen windows server, så kan du hjælpe mig videre herfra, hvad jeg skal ændre, det er vel i php.ini der skal slås noget til
Avatar billede mekaniker Nybegynder
21. marts 2004 - 15:50 #7
Kan man evt. udelade denne funktion, for jeg kan sagtens sikre at der ikke bliver valgt andre filer end jpg eller gif
Avatar billede fangel Nybegynder
21. marts 2004 - 15:55 #8
du kan tvinge klassen til at tro det er en anden type ved at udskrifte linie

$filetype = exif_imageType($file);

med følgende linier (for de forskellige filtyper)
PNG: $filetype = IMAGETYPE_PNG;
JPG: $filetype = IMAGETYPE_JPEG;
GIF: $filetype = IMAGETYPE_GIF;

Morten
Avatar billede mekaniker Nybegynder
21. marts 2004 - 16:03 #9
OK, men hvodan får jeg selve billedet skrevet ud, for nu får jeg bare udskrevet en masse underlige tegn

eksempel:
‰PNG  IHDR,áýü IDATxœl½[Óe[v–9Ö®Ó7¤„e"ì¿Ø¯¶ßìn?cìÀ€Ì5AB4º!µÜçÔ^#ý™sí®NW}ßÞë2ç¸äÈq™ü_þÅ B"¨k±$%€ˆÀkù H`{@Ð_w?I,1‚€ ÈEüÿ\ØÁ\ÂìÇ.AÌÍf±„ˆ– p.½ ú»ÕG(ˆ¹ ¿xù Ï¥ˆÞˆ/;¸n@¯€ÞçEˆfAÀúvÀf1À €˜…ú<#Ø^֏ʾ©Ÿg;¹Çôõ5x€³JFXAã‡ÈSy¹næî³R¾J÷€ B .0’ÈK¸©kr»ªob$ï2€K$i/@Ùý—ò[_|‡éfÐ=ºnú…¿fñeñ•ðE–sIÂŽòîJÐsS€.É ³âø²ˆ—æ \Ò ¶¢ºÜK„¸(‹´Dâ^Œx_{Ióÿ¢fæ5³ÐK
Avatar billede fangel Nybegynder
21. marts 2004 - 16:06 #10
du skal ikke have det "inline", men i en anden fil du kalder fx thumb.php og på siden hvor billedet skal være indsætter det som

<img src="thumb.php">

Morten
Avatar billede mekaniker Nybegynder
21. marts 2004 - 16:18 #11
Jeg er ikke helt med, kan du ikke "skære det lidt ud i pap" for mig
Avatar billede mekaniker Nybegynder
21. marts 2004 - 16:32 #12
Jeg har fundet ud af det, tak for hjælpen.

læg et svar, så du kan få nogle point
Avatar billede fangel Nybegynder
21. marts 2004 - 16:35 #13
svaa'r
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