Bild "fließend" darstellen [Gelöst]

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Ana

Betreff: Bild "fließend" darstellen [Gelöst]

BeitragMi, Sep 07, 2011 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallihallo,

ich möchte gern Bilder und Texte so darstellen, dass sie sich langsam von oben nach unten auf bauen. Dazu dachte ich mir nehme ich erstmal mit Grabimage den Hintergrund zeichne das vollständinge Bild und male dann das "gegrabte" Image teilweise drüber.

Zweierlei Probleme hab ich da, die vermutlich nur durch unwissenheit über die richtigen Befehle entstehen

BlitzMax: [AUSKLAPPEN]
i = CreateImage(Eiw,eih)
GrabImage(i,x,y)

finde ich sehr unschön, dafür das ich eigentlich ein Rechteck von x,y der länge eiw,eih haben möchte, gibt es sowas wie Grabrect?

und Drawimagerect funktioniert wohl leider nicht so wie ich mir das vorstelle, anstatt einen Bereich des Bildes zu zeichnen, zeichnet es ja das Bild in einen Bereich (es wird also gestreckt/gestaucht). Gibt es da einen Befehl für oder eine gute Idee wie ich das lösen kann?
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine
  • Zuletzt bearbeitet von Ana am Mi, Sep 07, 2011 19:32, insgesamt einmal bearbeitet
 

n-Halbleiter

BeitragMi, Sep 07, 2011 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Öhm, ich rate mal ins Blaue, welcher Befehl dir helfen könnte: DrawSubImageRect. In der Dokumentation steht da ganz schön, wofür die einzelnen Parameter sind. (:
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

DaysShadow

BeitragMi, Sep 07, 2011 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke SetViewport ist das richtige für dich.

BlitzMax: [AUSKLAPPEN]
SuperStrict

Graphics( 800, 600, 0, 60 )

Global actualHeight:Int = 0

Repeat

Cls()

SetViewport( 200, 200, 400, actualHeight )
DrawRect( 200, 200, 400, 200 )
SetViewport( 0, 0, GraphicsWidth(), GraphicsHeight( ) )

If( actualHeight < 200 )

actualHeight:+ 1

End If

If( KeyHit( KEY_SPACE ) )

actualHeight = 0

End If

Flip()

Until( KeyHit( KEY_ESCAPE ) Or AppTerminate( ) )


Du setzt damit den Bereich der tatsächlich auch gezeichnet wird, alles außerhalb dieses Bereichs wird nicht gezeichnet.
So setzt du den Bereich also quasi auf X und Y deines Bildes mit Width des Bildes und erhöhst die Höhe des Bereichs von 0 bis Height des Bildes.
Ich erhöhe im Beispiel nicht die Höhe des Rects, wie man am Code ja sehen kann.
Blessed is the mind too small for doubt

Ana

BeitragMi, Sep 07, 2011 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich danke euch beiden, aber DrawSubImageRect ist nicht was ich suche, SetViewPort allerdings schon.

Danke schön!
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group