Wie bekomme ich ein Bild in eine BANK?
Übersicht

funkheldBetreff: Wie bekomme ich ein Bild in eine BANK? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo, guten.
Wie bekomme ich bitte dieses Bild in eine BANK zum manipulieren ? Code: [AUSKLAPPEN] Global bank_bild:tbank = CreateBank(50000) Global bild:TImage=CreateImage(70,40) SetColor 0,0,255 DrawRect 0,0,70,40 SetColor 255,255,255 GrabImage bild,0,0 cls Danke. Gruss |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, eine Bank ist ein zusammenhängerder Block Memory, den Du wie "in ganz alten Zeiten" mit PEEK auslesen oder mit POKE beschreiben kannst. TBank bedeut nur "Type of Bank", gewissermaßen die "Klasse" einer Bank, Daraus kannst Du BANKs createn und typische Funktionen dazu finden. Auch die Methoden der BANK sind darin enthalten.
Wenn du in der in der BlitzMax IDE einen Befehl wie "TBank" in deinem Code geschrieben hast, kannst Du den Cursor drauf setzen und 2x die F1-Taste drücken und erhältst so Auflistung des Types (der "Klasse") mit all seinen Methoden und Funktionen BlitzMax: [AUSKLAPPEN] MyBank:TBank = TBank.Create(1000) upps., Du hast plötzlich den Inhalt Deiner Frage komplett geändert... Meine Antwort zielt noch auf deine erste Version. Zweite Antwort folgt... Das Manipulieren eines Bildes machst Du besser über PIXMAP. Das ist eine manipulierbare Form von Images. Der Vorteil gegenüber BANK ist, dass Du weiterhin Adressen über X- und Y-Koordinaten ansprechen kannst. Ebenso werden die Farben und die Transparenz gleich korrekt in den Speicher geschrieben. BlitzMax: [AUSKLAPPEN] Bild:TImage=CreateImage(70,40) |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
- Zuletzt bearbeitet von Midimaster am Mo, Aug 22, 2016 17:31, insgesamt einmal bearbeitet
funkheld |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja danke.
Du hast mir sehr geholfen. Danke. Gruss |
||
- Zuletzt bearbeitet von funkheld am Mo, Aug 22, 2016 17:38, insgesamt einmal bearbeitet
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
wilst Du wirklich ein Image mit BANK manipulieren geht das über die Adresse des Memory-Blocks:
BlitzMax: [AUSKLAPPEN] Bild:TImage=CreateImage(70,40) Das nachträgliche Abspeichern entfällt, da du damit direkt und sofort im Image manipulierst. |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
- Zuletzt bearbeitet von Midimaster am Mo, Aug 22, 2016 18:08, insgesamt einmal bearbeitet
funkheld |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke werde ich jetzt probieren.
Danke. Gruss |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
probiers mal so:
BlitzMax: [AUSKLAPPEN] Graphics 300,200 |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
funkheld |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hatte das "Global" vergessen davor zu setzen.
Jetzt funktioniert es wunderbar. In beiden Programm wird das Rechteck Grün gezeichnet. Eine tolle Sache hast du mir gezeigt. Jetzt werde ich mal versuchen die Adressen mit dem "C" zu beschreiben und mit ASM. Mit Byte: Code: [AUSKLAPPEN] Graphics 600,400 global z:int Global bild:TImage=CreateImage(70,40) global Pix:TPixmap=LockImage(bild) global Adresse:byte Ptr = Pix.PixelPtr(0,0) global MyBank:TBank=CreateStaticBank (Adresse,12000) Repeat Cls for z=0 to 11200 step 4 MyBank.Pokebyte z,$0 MyBank.Pokebyte z+1,$ff MyBank.Pokebyte z+2,$0 MyBank.Pokebyte z+3,$ff next setcolor 255,255,255 DrawImage bild,100,100 Flip Until KeyHit (KEY_ESCAPE) Mit Int: Code: [AUSKLAPPEN] Graphics 600,400 global z:int Global bild:TImage=CreateImage(70,40) global Pix:TPixmap=LockImage(bild) global Adresse:byte Ptr = Pix.PixelPtr(0,0) global MyBank:TBank=CreateStaticBank (Adresse,12000) Repeat Cls for z=0 to 11200 step 4 MyBank.Pokeint z,$ff00ff00 next setcolor 255,255,255 DrawImage bild,100,100 Flip Until KeyHit (KEY_ESCAPE) Danke. Gruss |
||
funkheld |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
............................... | ||
- Zuletzt bearbeitet von funkheld am Di, Aug 23, 2016 9:33, insgesamt 3-mal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weise dich nochmal darauf hin: Bitte Editiere deine Beiträge nach, statt mehrere hintereinander zu posten.
Danke. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group