Canvas ohne AutomaticScale

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

Rallimen

Sieger des 30-EUR-Wettbewerbs

Betreff: Canvas ohne AutomaticScale

BeitragSo, Jan 09, 2005 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
habe das Problem das beim ändern der Fenstergröße mein eingezeichnetes Bild mit scaliert wird, nur neu einzeichnen geht nicht!

Welche Möglichkeiten gibt es da?
Code gibt es natürlich auch !Code:
Startwindow = CreateWindow ("",100,100,200,200,0,%1111)
Canvas1 = CreateCanvas(10,10,170,170,Startwindow,0)
SetGadgetLayout Canvas1,1,1,1,1
Imagehandle% = CreateImage (50,50)
SetBuffer CanvasBuffer(Canvas1):ClsColor 255,255,0:Cls:FlipCanvas Canvas1

Repeat
    Ergebnis = WaitEvent (50)
    Select Ergebnis
      Case $803 End
      Case $802 UpCanvas(Canvas1,Imagehandle%)
    End Select
Forever

Function UpCanvas(Canvas1,Imagehandle%)
    SetBuffer CanvasBuffer(Canvas1)
    Cls
    DrawBlock Imagehandle%,0,0
    FlipCanvas Canvas1
End Function


eine Möglichkeit hab ich ja, aber nja gefällt mir nichtCode:
Startwindow = CreateWindow ("",100,100,200,200,0,%0011)
Canvas1 = CreateCanvas(10,10,GadgetWidth (Startwindow)-30,GadgetWidth (Startwindow)-60,Startwindow,0)
SetGadgetLayout Canvas1,1,1,1,1
Imagehandle% = CreateImage (50,50)
SetBuffer CanvasBuffer(Canvas1):ClsColor 255,255,0:Cls:FlipCanvas Canvas1

Repeat
    Ergebnis = WaitEvent (50)
    Select Ergebnis
      Case $803 End
      Case $802
        Canvas1 = RezCanvas1(Canvas1,Startwindow)
        UpCanvas(Canvas1,Imagehandle%)
    End Select
Forever

Function RezCanvas1(Canvas1,win)
    FreeGadget Canvas1
    Canvas1 = CreateCanvas(10,10,GadgetWidth (win)-30,GadgetHeight(win)-60,Win,0)
    SetGadgetLayout Canvas1,1,1,1,1
    SetBuffer CanvasBuffer(Canvas1):ClsColor 255,255,0:Cls:FlipCanvas Canvas1
    Return canvas1
End Function

;das canvas löschen und neu erstellen
Function UpCanvas(Canvas1,Imagehandle%)
    SetBuffer CanvasBuffer(Canvas1)
    Cls
    DrawBlock Imagehandle%,0,0
    FlipCanvas Canvas1
End Function
[BB2D | BB3D | BB+]
 

Silbersurfer

BeitragMi, Feb 16, 2005 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen schreibt

Zitat:
habe das Problem das beim ändern der Fenstergröße mein eingezeichnetes Bild mit scaliert wird, nur neu einzeichnen geht nicht!


kann ja nicht da dein Canvas gezoomt wird Exclamation

Code:
SetGadgetLayout Canvas1,1,1,1,1


dieser befehl heftet alle 4 Seiten an dein Fenster beim vergrößern
Zoom nun dein canvas mit, wenn du das nicht willst mußt du dein Canvas neu erstellen

z.b neue Fenstergröße = neue Canvasgröße
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Feb 16, 2005 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Das diese Möglichkeit besteht ist mir schon klar!
denn genau das macht das Proggi was ich oben als 2.Code stehen habe!
[BB2D | BB3D | BB+]
 

Silbersurfer

BeitragFr, Feb 18, 2005 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit Ich weiß gibt es da keine andere möglichkeit
entweder Zoomen oder Neu !
viel schlimmer finde Ich das man bei Canvas dieses Antialiasing nicht
ausschalten kann Evil or Very Mad

cu
-------------------------------------------------------
XP 2000+ 512DDR Radeon 9800 XL 340GB HD
Hompage : http://home.arcor.de/silbersurfer01/
Is Bob engine http://home.arcor.de/silbersur.../Isbob.zip

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group