If then else matters! - AMD 9800X3D, Gigabyte Gaming OC 16G 5080 RTX, MSI MAG B850, 32GB DDR5, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, TP-Link AXE5400 Wi-Fi 6E 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! - AMD 9800X3D, Gigabyte Gaming OC 16G 5080 RTX, MSI MAG B850, 32GB DDR5, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, TP-Link AXE5400 Wi-Fi 6E 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! - AMD 9800X3D, Gigabyte Gaming OC 16G 5080 RTX, MSI MAG B850, 32GB DDR5, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, TP-Link AXE5400 Wi-Fi 6E 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! - AMD 9800X3D, Gigabyte Gaming OC 16G 5080 RTX, MSI MAG B850, 32GB DDR5, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, TP-Link AXE5400 Wi-Fi 6E Router