Pixmap Löschen
Übersicht

MatthiasBetreff: Pixmap Löschen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay. Ich habe seit kurzen BMax. Leider vermisse ich den Befehl FreeImage (FreePixmap) wird jetzt mein speicher zu gemült immer wenn ich ein neues Pixmap lade?
Auserdem würde ich gerne wissen wollen was Strict und SuperStrict mir bringt. Und dann habe ich da noch ein ziemliches Problem und zwar will ich den Bildschirm also den BackBuffer nach links Scrollen und dann ebend die entsprechenden Pixel rechts ansetzen die fehlen um ein Pixel by Pixel Scrolling zu erzeugen aber irgendwie ist der GrabBefehl sau langsam. In Blitz3D hab ich dann einfach CopyRect benutz. Gibt es da irgendeine Möglichkeit das doch noch hin zu bekommen? Ich habe auch schon an Tiles gedacht nur die liegen ja im GFXSpeicher und bei einem Map von 4096x4096px sind das ja dann schon ca67MB. Code: [AUSKLAPPEN] Repeat DrawImage Untergrund,0,0 GrabImage Untergrund,-1,0 flip until KeyDown(KEY_ESCAPE) end Achso ja und dann noch Images Speichern wie geht das. Bei Blitz3D war es SaveImage Image,"Bild.Bmp" Das functioniert bei BMax leider nicht mehr. Kann ich jetzt keine Bilder mehr speichern. Oder etwa nur mit einer Lib |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
In BlitzMax gibt es Garbage Collection, alle Objekte werden also automatisch gelöscht, wenn sie nicht mehr benutzt werden. Dazu einfach das Objekt auf Null setzen.
Im Strict Modus müssen alle Variablen deklariert werden, bevor man sie benutzen kann. Mit Local oder Global. SuperStrict fordert zusätzlich einen Typ beim Deklarieren ( Int, Float, ... ). Bilder kannst du nicht direkt speichern, nur Pixmaps. Zum Beispiel mit SavePixmapPNG oder SavePixmapJPEG. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie der Progamer schon schrieb genügt es Dein Image/Pixmap auf Null zu setzen (meinschoenesbild:TPixmap = Null) ... was Strict und SuperStrict machen hat er ebenso nett ausformuliert, ich möchte nur folgendes ergänzen: Weder Strict noch SuperStrict machen Dein Programm schneller oder Deine Freundin geiler ... es fient einzig und allein dazu Dich dazu zu zwingen Variablen korrekt zu deklarieren und somit einen besseren Programmierstil zu erreichen.
Wozu Du bei einem scrollenden, sich wiederholenden Background irgendwas grabben willst ist mir allerdings unklar ... wenn Dein Image myBG:TImage beim scrollen den Wert 1 erreicht, malst Du einfach dasselbe Bild an 0-myBG.width nochmal und scrollst weiter ... feddich. Bilder speichern geht nur auf Pixmap, wenn Dein Bild als TImage geladen wurde wandelst Du es einfach um: myBPPXM:TPixmap = LoadPixMap(myBG:TImage) und sicherst es mit den entsprechenden Pixmap Funktionen. |
||
Farbfinsternis.tv |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vilen dank für euren schnellen und genauen Antworten. ![]() ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Superstrict verändert auch das scoping-verhalten von Variablen, sprich ihren Gültigkeitsbereich. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group