Font mit Anti-Aliasing
Font mit Anti-Aliasing
Gibt's dafür ne Lib die automatisch AA-Fonts auf nem Screen darstellt?
Probier mal dieses Beispiel.Delle hat geschrieben:Ähm ich meine natürlich TTF (was auch sonst?)
Bei BB war es automatisch mit AA... bei PB sehe ich davon nichts...
Code: Alles auswählen
;
; display different fonts to see AntiAliasing
;
#w = 800
#h = 600
#n = "AA Font Test"
If InitSprite()=0 Or InitKeyboard()=0 Or InitMouse()=0
MessageRequester("ERROR","Cant init screen engine !"):End
EndIf
If OpenScreen(#w,#h,32,#n)=0
If OpenScreen(#w,#h,24,#n)=0
If OpenScreen(#w,#h,16,#n)=0
If OpenScreen(#w,#h,08,#n)=0
MessageRequester("ERROR","Cant open screen !"):End
EndIf:EndIf:EndIf:EndIf
Font1 = LoadFont(1,"Arial",250)
Font2 = LoadFont(2,"Courier New",48)
Font3 = LoadFont(3,"Courier",48)
If CreateSprite(1,256,256)=0
CloseScreen()
MessageRequester("ERROR","Cant create sprite !"):End
Else
If StartDrawing(SpriteOutput(1))
For i = 0 To 255
Line(0,i,256,0,RGB(Random($FF),Random($FF),Random($FF)))
Next i
StopDrawing()
EndIf
EndIf
Repeat
FlipBuffers()
If IsScreenActive()
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
Break
EndIf
For y = 0 To #h-1 Step 256
For x = 0 To #w-1 Step 256
DisplaySprite(1,x,y)
Next x
Next y
If StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor($FF,$FF,$00)
Locate( 50, 50):DrawingFont(Font1):DrawText("Test")
Locate(120,400):DrawingFont(Font2):DrawText("* Antialiased")
Locate( 70,470):DrawingFont(Font3):DrawText("* Not Antialiased")
StopDrawing()
EndIf
EndIf
ForEverweil er nicht wie die anderen TTF-Fonts direkt in der Größe
gezeichnet wird, sondern block-/pixelweise hochgezoomt.
Dadurch entstehen an Font3 auch keine runden Ecken. Gerade
Kanten werden nicht mit AA gezeichnet (siehe das große 'T'),
nur Rundungen.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck