|
| Store billeder med ImageCreateFromjpeg Fra : Mikkel Jakobsen |
Dato : 11-09-07 19:26 |
|
Jeg lavet et billede med 'ImageCreateFromjpeg'. Det originale
billede fylder ca 48Kb, det mener jeg er akseptabel for visning
af billeder på en hjemmeside.
Men når jeg kører billedet igennem nedenstående kode, fylder det
pludselig 446 Kb. Hvor kommer de sidste ca 400 Kb fra. og
hvordan kan jeg undgå dem... hvis heg kan.
Den eneste grund til at jeg kører billedet igennem koden, er at
jeg tilføjer noget tekst på billedet. Teksten kan jeg selv ændre
via mysql
Kode:
billede.php
$im = ImageCreateFromjpeg ("billede.jpg");
$sort = ImageColorAllocate($im,0,0,0); ImageTTFText
($im,14,0,2,15,$sort,"courbd.ttf",$billede_tekst);
header("Content-type: image/jpeg")
ImagePNG($im); ImageDestroy($im);
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Rander (11-09-2007)
| Kommentar Fra : Rander |
Dato : 11-09-07 19:35 |
|
Mikkel Jakobsen skrev noget i denne stil, den 11-09-2007 20:26:
> header("Content-type: image/jpeg")
> ImagePNG($im); ImageDestroy($im);
Er der en speciel grund til at du sender en JPEG-header og billedet som PNG?
--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk
Man kan næsten altid rubricere den intellektuelle gruppe, hvortil
citatelskeren tilhører,
ved at lægge mærke til de ulæste forfattere, han vælger at citere.
(Russell Baker)
| |
Mikkel Jakobsen (11-09-2007)
| Kommentar Fra : Mikkel Jakobsen |
Dato : 11-09-07 19:38 |
|
> > header("Content-type: image/jpeg")
> > ImagePNG($im); ImageDestroy($im);
>
> Er der en speciel grund til at du sender en JPEG-header og billedet som PNG?
>
Nej... er bare ikke sikker på hvordan man gør når det er et jpeg billede.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Mikkel Jakobsen (11-09-2007)
| Kommentar Fra : Mikkel Jakobsen |
Dato : 11-09-07 19:57 |
|
ups....
Jeg tror du har ret..
imagejpeg($im); giver meget mindre billeder....
Kan du så også sige mig hvordan man bruger 'Quality' egenskaben med
imagejpeg(),
jeg kan ikke helt forstå det de skriver på www.php.net/imagejpeg
Mikkel
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Rander (12-09-2007)
| Kommentar Fra : Rander |
Dato : 12-09-07 13:30 |
|
Mikkel Jakobsen skrev noget i denne stil, den 11-09-2007 20:56:
> Jeg tror du har ret..
> imagejpeg($im); giver meget mindre billeder....
> Kan du så også sige mig hvordan man bruger 'Quality' egenskaben med
> imagejpeg(),
> jeg kan ikke helt forstå det de skriver på www.php.net/imagejpeg
imagejpeg($im, '', 80);
80 er i dette tilfælde kvaliteten - jo højere tal, jo højere kvalitet
(og større fil).
--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk
Kun idioter ændrer sig aldrig. (Georges Pompidou)
| |
ShutEye (13-09-2007)
| Kommentar Fra : ShutEye |
Dato : 13-09-07 08:56 |
|
> imagejpeg($im, '', 80);
>
> 80 er i dette tilfælde kvaliteten - jo højere tal, jo højere kvalitet (og
> større fil).
Yep, og min erfaring siger at det ikke kan betale sig at gå over 80.
Billederne bliver for store uden egentlig gevinst i billedkvalitet.
| |
ShutEye (13-09-2007)
| Kommentar Fra : ShutEye |
Dato : 13-09-07 09:23 |
|
>> imagejpeg($im, '', 80);
>>
>> 80 er i dette tilfælde kvaliteten - jo højere tal, jo højere kvalitet (og
>> større fil).
>
> Yep, og min erfaring siger at det ikke kan betale sig at gå over 80.
> Billederne bliver for store uden egentlig gevinst i billedkvalitet.
Den korrekte syntax er forresten: imagejpeg($im,NULL,80); hvis du vil smide
billedet til browseren.
| |
Martin Højriis Krist~ (13-09-2007)
| Kommentar Fra : Martin Højriis Krist~ |
Dato : 13-09-07 20:53 |
| | |
ShutEye (14-09-2007)
| Kommentar Fra : ShutEye |
Dato : 14-09-07 01:56 |
| | |
Birger (11-09-2007)
| Kommentar Fra : Birger |
Dato : 11-09-07 21:51 |
|
"Mikkel Jakobsen" <spam@bonzai.adsl.dk> skrev i en meddelelse
news:46e6ddd0$0$90264$14726298@news.sunsite.dk...
> Jeg lavet et billede med 'ImageCreateFromjpeg'. Det originale
> billede fylder ca 48Kb, det mener jeg er akseptabel for visning
> af billeder på en hjemmeside.
>
> Men når jeg kører billedet igennem nedenstående kode, fylder det
> pludselig 446 Kb. Hvor kommer de sidste ca 400 Kb fra. og
> hvordan kan jeg undgå dem... hvis heg kan.
>
> Den eneste grund til at jeg kører billedet igennem koden, er at
> jeg tilføjer noget tekst på billedet. Teksten kan jeg selv ændre
> via mysql
>
> Kode:
>
> billede.php
>
> $im = ImageCreateFromjpeg ("billede.jpg");
> $sort = ImageColorAllocate($im,0,0,0); ImageTTFText
> ($im,14,0,2,15,$sort,"courbd.ttf",$billede_tekst);
>
>
> header("Content-type: image/jpeg")
> ImagePNG($im); ImageDestroy($im);
>
> --
Uden i øvrigt at kommentere din kode, så er jpg et komprimeret format.
Nogle af php's billedfunktioner, opretter billedet i bmp format - og sådan
et fylder højde x bredde x farvedybde.
Så kan du selv regne ud hvor store dine billeder bliver...
Birger
| |
|
|