18. oktober 2004 - 21:49
Der er
36 kommentarer og 1 løsning
GD skriv gif/png
Jeg har en side hvor jeg har nogen menupunkter som jeg vil lave med gif/png så de bliver pænere end med normal skrift. man man ikke med GD/PHP lave gif/png'ere?
Annonceindlæg fra Pax8
18. oktober 2004 - 21:51
#1
18. oktober 2004 - 23:04
#2
Har fået det til at virke en smule men hvordan får jeg lavede png'en så den ikke laver en bg farve? <?php header ("Content-type: image/png"); $menutext = $mt; $filename = $mt.".png"; $im = @imagecreatetruecolor (200, 25) or die ("Cannot Initialize new GD image stream"); $text_color = imagecolorallocate ($im, 102, 102, 102); imagestring ($im, 3, 5, 5, "$mt", $text_color); imagepng ($im); imagedestroy ($im); ?> Har prøvede med: [ImageColorTransparent($im, $pink); ] men det virker ikke. <?php header ("Content-type: image/png"); $menutext = $mt; $filename = $mt.".png"; $im = @imagecreatetruecolor (200, 25) or die ("Cannot Initialize new GD image stream"); $text_color = imagecolorallocate ($im, 102, 102, 102); ImageColorTransparent($im, $pink); imagestring ($im, 3, 5, 5, "$mt", $text_color); imagepng ($im); imagedestroy ($im); ?>
19. oktober 2004 - 10:11
#4
men hvordan laver jeg png'en transparent? syntes ikke jeg kan se det ud fra linket.
19. oktober 2004 - 12:51
#5
Du skal sætte et filter på i din style - Du skal dog stadig bruge imagecolortransparent() til at lave selve billedet
19. oktober 2004 - 15:45
#6
er selve "lav png skriften" scriptet korrekt? og hvad mener du med style? skal jeg bruge css til at fjerne bg farve?
20. oktober 2004 - 13:38
#7
Dette lidt modificerede script virker: <?php header ("Content-type: image/png"); $menutext = $mt = "menutekst"; $im = @imagecreatetruecolor (200, 25) or die ("Cannot Initialize new GD image stream"); $text_color = imagecolorallocate ($im, 102, 102, 102); $transpcolor = imagecolorallocate( $im, 0, 0, 0 ); imagecolortransparent( $im, $transpcolor ); imagestring ($im, 3, 5, 5, "$mt", $text_color); imagepng ($im); imagedestroy ($im); ?> Du kan se at billedet bliver transparent ved at bruge FireFox eller lign. browser. (Jeg sætter sort til at være den transparente farve). For at det virker i IE skal du bruge noget i stil med dette: <div id="mitbillede" style="position:absolute; left:140px; height:400; width:400; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='dit_png_script.php', sizingMethod='scale');" > </div> Dejligt besværligt! :)
20. oktober 2004 - 14:29
#8
har nu ved hjælp af coderdk's assistance fået det til at virker "næsten" mit problem er nu at hvis jeg ikke vil have at transparet skal være sort "0,0,0" men eks. hvis så laver den ikke transp. men bare en sort kasse.. <?php header ("Content-type: image/png"); $im = imagecreatetruecolor (200, 25); $color = imagecolorallocate ($im, 102, 102, 102); $transpcolor = imagecolorallocate( $im, 255, 255, 255 ); imagecolortransparent( $im, $transpcolor ); imagettftext ($im, 12, 0, 10, 20, $color, "arial.ttf", "æøå123abc"); imagepng ($im); imagedestroy ($im); ?>
20. oktober 2004 - 14:51
#10
ved ikke om jeg bare er udkørt eller hvad. men kan ikke få noget som helst til at virke idag. kan du ikke indsætte det i det eks. jeg skrev: 20/10-2004 14:29:36 Så skulle det også være det :)
20. oktober 2004 - 14:53
#11
<?php header ("Content-type: image/png"); $im = imagecreatetruecolor (200, 25); $color = imagecolorallocate ($im, 102, 102, 102); $transpcolor = imagecolorallocate( $im, 255, 255, 255 ); imagefill( $im, 1, 1, $transpcolor ); imagecolortransparent( $im, $transpcolor ); imagettftext ($im, 12, 0, 10, 20, $color, "arial.ttf", "æøå123abc"); imagepng ($im); imagedestroy ($im); ?>
20. oktober 2004 - 19:49
#12
->> coderdk <div id="mitbillede" style="position:absolute; left:140px; height:400; width:400; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='dit_png_script.php', sizingMethod='scale');" > </div> virker ikke! har du et andet forslag?
20. oktober 2004 - 20:42
#13
Dette virker da fint for mig: png.php: <?php header ("Content-type: image/png"); $im = imagecreatetruecolor (200, 25); $color = imagecolorallocate ($im, 102, 102, 102); $transpcolor = imagecolorallocate( $im, 255, 255, 255 ); imagefill( $im, 1, 1, $transpcolor ); imagecolortransparent( $im, $transpcolor ); imagettftext ($im, 12, 0, 10, 20, $color, "arial.ttf", "æøå123abc"); imagepng ($im); imagedestroy ($im); ?> test.html: <html><head><title>test</title></head><body> <div id="mitbillede" style="position:absolute; left:140px; height:25; width:200; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( src='png.php', sizingMethod='scale');" > </div> </body></html>
20. oktober 2004 - 21:05
#14
bruger du test.html når du henter et billede? src='png.php ?? hvordan virker det?
20. oktober 2004 - 21:14
#15
png.php "er" billedet "test.html" er siden hvor billedet vises, sådan: <div id="mitbillede" style="position:absolute; left:140px; height:25; width:200; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='png.php',sizingMethod='scale');"> </div>
20. oktober 2004 - 21:17
#16
får bare blank side når jerg køre test.html
20. oktober 2004 - 21:35
#18
prøv at lav bgcolor=red i png.html
20. oktober 2004 - 21:37
#19
Mja?
20. oktober 2004 - 21:41
#20
så kommer der en hvid box og ikke transparent som med firefox
20. oktober 2004 - 21:42
#21
<html><head><title>test</title></head><body bgcolor=red> <div id="mitbillede" style="position:absolute; left:140px; height:25; width:200; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='png.php',sizingMethod='scale');"> </div> </body></html>
20. oktober 2004 - 21:47
#23
det fatter jeg ikke. png.php <?php header ("Content-type: image/png"); $im = imagecreatetruecolor (200, 25); $color = imagecolorallocate ($im, 102, 102, 102); $transpcolor = imagecolorallocate( $im, 255, 255, 255 ); imagefill( $im, 1, 1, $transpcolor ); imagecolortransparent( $im, $transpcolor ); imagettftext ($im, 12, 0, 10, 20, $color, "arial.ttf", "æøå123abc"); imagepng ($im); imagedestroy ($im); ?> test.html <html><head><title>test</title></head><body bgcolor=red> <div id="mitbillede" style="position:absolute; left:140px; height:25; width:200; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='png.php',sizingMethod='scale');"> </div> </body></html> nogen forskel fra dit? hvad er din GD version?
20. oktober 2004 - 21:49
#24
min version: GD Version bundled (2.0.15 compatible)
20. oktober 2004 - 21:55
#25
GD Version bundled (2.0.28 compatible) Er det det samme hvis du udskifter <body bgcolor=red> med <body style="background-color: red;"> ?
20. oktober 2004 - 22:06
#26
prøver på en anden server
20. oktober 2004 - 22:08
#27
der virker den heller ikke. der GD Version bundled (2.0.22 compatible)
20. oktober 2004 - 22:45
#28
Udskiftede du din bgcolor med en style?
20. oktober 2004 - 22:47
#29
ja
21. oktober 2004 - 01:55
#30
Prøv lige at ændre $transpcolor til sort - altså $transpcolor = imagecolorallocate( $im, 0, 0, 0 );
21. oktober 2004 - 08:22
#31
så ligner den sørme dit. hmmm men sort bg går ikke. løsning?
21. oktober 2004 - 09:36
#32
No idea :) Prøv med en anden farve, som ikke er hvid - Evt. 254,254,254 Ellers prøv at lege med imagecopymerge (der stod noget i nogle brugerkommentarer) - Hvis det ikke virker, skal gd nok opdateres?
21. oktober 2004 - 09:50
#34
Det ser jo fint ud :) Hvad var løsningen?
21. oktober 2004 - 09:53
#35
Tilføjede -> imagetruecolortopalette($im, false, 256); // convert
21. oktober 2004 - 09:56
#36
hehe ok :)
21. oktober 2004 - 09:58
#37
kan du se nogen ulemper ved -> imagetruecolortopalette($im, false, 256); // convert
Vi tilbyder markedets bedste kurser inden for webudvikling