If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Verwijderd
een oplossing (lees: workaround) kan zijn om de tekst gewoon horizontaal te renderen en die image over een andere heen te copieren, ik denk zelfs dat dit een strakker resultaat oplevert
1
2
3
4
5
6
7
8
9
10
| $p = getVal("p"); header('Content-Type: image/png'); $im2 = imageCreateTrueColor(150, 20); $textcolor = imageColorAllocate($im2, 0, 0, 0); $white = imageColorAllocate($im2, 255, 255, 255); imagefill($im2, 0, 0, $white); imagecolortransparent($im2, $white); imagettftext($im2, 10.5, 0, 4, 12, $textcolor, "arial.ttf", "Periode $p"); $im2 = imagerotate($im2, -90, $white); imagePng($im2); |
[ Voor 79% gewijzigd door Guillome op 23-11-2010 16:46 ]
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Zal een foutje zijn in de berekening/rendering in imagettftext van TTFs met "speciale" hinting/kerning o.i.d... Als het alleen misgaat met sommige fonts...
Je zou een testje kunnen doen met een string met "1"en en andere tekens, kijken of hij elke keer bij een 1 verspringt. Testje met 270 (ipv -90) graden zou ook interessant kunnen zijn.
Daarna bug report naar PHP? (Ik doe tegenwoordig niks meer met PHP)
Verwijderd
Uit mijn snelle tests lijkt het te gebeuren als er een aantal keer '1' na elkaar komt ... want 1001010101 gaat gewoon goed terwijl 100111000 vanaf de 3 x '1' fout gaat.
Kan natuurlijk ook zijn dat er iets in de font definitie fout zit bij het Arial font, ik meen dat PHP deze gewoon gebruikt
Ik zou zeggen tegen Kompaan die het niet gelooft: probeer het
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
"Het zou gewoon moeten werken" was bedoelt als commentaar op de workaround, dat dat niet nodig zou moeten zijn.
Ik heb helaas niet echt de tijd om mij hier verder in te verdiepen.
Ik denk dat het een gek iets in het font is, waar PHP niet mee om weet te gaan. Tja, wiens fout is het dan
If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router