GrabImage funktioniert nicht auf allen OS-Systemen gleich
Übersicht

![]() |
remaBetreff: GrabImage funktioniert nicht auf allen OS-Systemen gleich |
![]() Antworten mit Zitat ![]() |
---|---|---|
Habe mal ein wenig gestöbert und bin auf einer Tutorial-Seite gestossen:
http://www.2dgamecreators.com/...iders.html Unter dem Thema: SLIDER_SCROLLBAR kommt ein Beispiel: Code: [AUSKLAPPEN] SuperStrict
Local MyWindow:TGadget=CreateWindow("Slider Example", 200,200,320,320,,WINDOW_TITLEBAR) Local HorizontalSlider:TGadget=CreateSlider(10,210,200,20,MyWindow, SLIDER_HORIZONTAL ) Local VerticalSlider:TGadget=CreateSlider(210,10,20,200,MyWindow, SLIDER_VERTICAL ) Local MyCanvas:TGadget=CreateCanvas(10,10,200,200,MyWindow) Local map:TPixmap=LoadPixmap("t13-05.jpg") Local x:Int=0 Local y:Int=0 SetSliderRange VerticalSlider,0, PixmapHeight(Map)-200 SetSliderRange HorizontalSlider,0,PixmapWidth(Map)-200 Repeat WaitEvent() Select EventID() Case EVENT_WINDOWCLOSE End Case EVENT_GADGETACTION ' Slider-Position feststellen Select EventSource() Case HorizontalSlider Print "slider_h" x=EventData() Case VerticalSlider Print "slider_v" y=EventData() End Select RedrawGadget(MyCanvas) ' GadgetPaint Event auslösen Case EVENT_GADGETPAINT ' Gadget bzw Canvas neu zeichnen Print "gadget_paint" Print "h: "+ x +" v: "+ y SetGraphics CanvasGraphics (MyCanvas) ' Canvas-Buffer setzten Cls ' löschen DrawPixmap map,0,0 ' mit den Koordinaten [0,0] zeichnen Local Pix:TPixmap=GrabPixmap(x,y,200,200) ' ausgewähltes Stück graben, und hier funzt es nicht mit Linux und MacOS Cls ' wieder löschen DrawPixmap pix,0,0 ' gegrabtes Image zeichen Flip End Select SetStatusText MyWindow,"Slider values (x,y)="+x+","+y Forever Und diese Ansicht sollte dabei herauskommen: ![]() Nun, unter Mac und Linux funktioniert das ganze soweit, nur das GrabPixmap aber nur den vorher sichtbaren Teil kopiert. Der verdeckte Teil bleibt verborgen und somit wird dieser als schwarzer Rand gezeichnet. Schlussendlich habe ich dies unter Windows getestet, und siehe da der Quellcode funktioniert doch, aber eben nur unter Windows. Grummel, Grummel... Liegts jetzt generell an des OS, bzw ich denke DirectX und OpenGL, oder an GrabImage. Ich denke ersteres.... Ich suche mal im eng. Forum nach obs eine Bugmeldung hat. Sonst genneriere ich eine... [/list] |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group