Avatar billede akyhne Nybegynder
15. september 2008 - 20:22 Der er 14 kommentarer og
3 løsninger

Grimme linier med GdLib

Når jeg tegner linier på et billede kreeret med imagecreatetruecolor() og tegner streger med imageline(), bliver området omkring stregen grimt som om billedet er kraftig komprimeret.

Er der ingen måder dette kan omgås på?
Avatar billede showsource Seniormester
15. september 2008 - 21:00 #1
Har du noget kode vi kan kikke på?

<?php
header ('Content-type: image/png');
$im = @imagecreatetruecolor(320, 120)
      or die('Cannot Initialize new GD image stream');

$str_color = imagecolorallocate($im, 233, 14, 91);

imageline($im, 40, 40, 180, 40, $str_color);
imagepng($im);
imagedestroy($im);
?>
Avatar billede akyhne Nybegynder
15. september 2008 - 21:28 #2
$im = imagecreatetruecolor(200, 260);
$lblue = ImageColorAllocate($im,130,160,190);
imagefilledrectangle ( $im , 0 , 0, 200 , 260, $lblue);
$white = ImageColorAllocate($im,255,255,255);
imageline ( $im , 50 , 50, 50, 100, $white);
header("Content-type: image/jpeg");
Avatar billede jakobdo Ekspert
15. september 2008 - 21:37 #3
Jeg synes nu koden ser ud til at virker fint fint: http://www.codebreaker.dk/leg/845518.php
Avatar billede akyhne Nybegynder
15. september 2008 - 21:52 #4
Når du forstørrer 6 gange, ser det således ud: http://smf.e-debatten.dk/test/streg.bmp

Ikke så slemt, men når du tegner flere streger tæt på hinanden, kommer det til at se skrækkeligt ud (forstørret 2 gange): http://smf.e-debatten.dk/test/streg2.bmp
Avatar billede jensgram Nybegynder
15. september 2008 - 21:59 #5
Da du serverer billedet som image/jpeg formoder jeg, at du bruger imagejpeg (http://dk.php.net/manual/en/function.imagejpeg.php) ?!

I givet fald; Har du prøvet imagejpeg($im, NULL, 100); - eller et mere passende format?
Avatar billede jakobdo Ekspert
15. september 2008 - 22:00 #6
Det har intet med gdlib at gøre.
Se samme kode, men med png som output: http://www.codebreaker.dk/leg/845518.php
Avatar billede jakobdo Ekspert
15. september 2008 - 22:01 #7
Så det er måden jpeg bliver komprimeret på, der gør at det bliver grimt når du zoomer.
Avatar billede jensgram Nybegynder
15. september 2008 - 22:02 #8
Netop - og hvis det er den type grafik du vil generere, vil du nok opdage, at PNG er mere velegnet :)
Avatar billede akyhne Nybegynder
15. september 2008 - 22:05 #9
http://smf.e-debatten.dk/test/streg.bmp er taget fra dit billede, jakobdo. Jeg outputter kun billedet til skærmen - ikke til en fil.
Avatar billede jakobdo Ekspert
15. september 2008 - 22:08 #10
Ikke hvis du tager det sidste billede, som er png.
Gemmer jeg det på computeren og zoomer, så er der ingen streger.
Hvordan du gør, ved jeg ikke.
Men jeg kan ikke se problemet.
Avatar billede akyhne Nybegynder
15. september 2008 - 22:16 #11
Du har ret. png var det der skulle til. Smid et svar.
Avatar billede jakobdo Ekspert
15. september 2008 - 22:19 #12
Svar!
Jeg deler dog gerne med de andre, da showsource allerede har png i hans kode og jensgram også er inde på format problematikken.
Avatar billede jensgram Nybegynder
15. september 2008 - 22:22 #13
Tjah...
Avatar billede akyhne Nybegynder
15. september 2008 - 22:23 #14
Så smid et svar.
Avatar billede akyhne Nybegynder
15. september 2008 - 23:59 #15
showsource?
Avatar billede showsource Seniormester
16. september 2008 - 07:29 #16
Ok
Avatar billede jakobdo Ekspert
16. september 2008 - 20:48 #17
Takker for point.
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