Hab da was seltsames gefunden:
Code: Alles auswählen
If OpenWindow(0, 800, 400, 800, 400, "Testfenster", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
ButtonGadget(0, 340, 370, 100, 20, "OK", #PB_Button_Default)
SetWindowColor(0,RGB(30,30,30))
If CreateImage(1, 800, 400) And StartDrawing(ImageOutput(1))
Box(0, 0, 800, 400, RGB(255, 0, 0))
ImageGadget(0, 0, 0, 800, 400, ImageID(1))
EndIf
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget, #PB_Event_CloseWindow ; Gadget wurde angeklickt oder Fenster geschlossen
out = 1
EndSelect
Until out = 1
End
EndIf
Hier soll Fensterfüllend ein Viereck gezeichnet werden. Es wird aber nur die Hälfte gezeichnet.
Das Heisst: Dieses Viereck ist nur halb so hoch und halb so breit.
Aufgefallen ist mir das, als ich das Progrämmchen, was ich gerade schreibe, mal unter Linux compiliert habe. Da stimmt nichts mehr.
Eigentlich gehe ich davon aus, das die Werte, die bei den Befehleb wie Box, Circle usw. angegeben werden die Pixel sind.
Aber auf dem Mac ist das irgendwie nur die Hälfte.
Verdopple ich die Werte, funktioniert es....
Code: Alles auswählen
If OpenWindow(0, 800, 400, 800, 400, "Testfenster", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
ButtonGadget(0, 340, 370, 100, 20, "OK", #PB_Button_Default)
SetWindowColor(0,RGB(30,30,30))
If CreateImage(1, 1600, 800) And StartDrawing(ImageOutput(1)) ; Doppelte Werte
Box(0, 0, 1600, 800, RGB(255, 0, 0)) ; Doppelte Werte
ImageGadget(0, 0, 0, 1600, 800, ImageID(1)); Doppelte Werte
EndIf
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget, #PB_Event_CloseWindow ; Gadget wurde angeklickt oder Fenster geschlossen
out = 1
EndSelect
Until out = 1
End
EndIf
Oder hab ich da einen Denkfehler?
Ich bin da jetzt sehr irritiert oder zu blöde?.