Bild ausschneiden

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

FosJonas

Betreff: Bild ausschneiden

BeitragDo, Jun 11, 2009 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
habe jetzt schon ne weile im forum und in google gesucht aber nix dazu gefunden deshalb frage ich mal:
Wie schneide ich ein 64x64 bild aus einem 256x256 bild aus?

Hoffe ihr könnt mir helfen

BladeRunner

Moderator

BeitragDo, Jun 11, 2009 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Grabpixmap oder wahlweise loadanimimage, je nachdem wie du das Bild vorliegen hast.

EDIT: aber bist Du sicher im richtigen Forum gepostet zu haben? Meinst Du BB oder Bmax?
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

FosJonas

BeitragDo, Jun 11, 2009 12:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich Bmax, wollte das mal ausprobieren.
ich blick das mit Grabpixmap irgendwie nicht wie muss ich das machen? ich habs so probiert:
256x256 image laden
auf pos 0,0 malen
und dann veruscht so zu speichern: Global Gras= GrabPixmap 0,0,64,64
was aber nen error gibt.

BladeRunner

Moderator

BeitragDo, Jun 11, 2009 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Welchen Fehler denn?
Es ist sinnig den Code richtig zu posten und nicht nur zu beschreiben und auch die komplette Fehlermeldung anzugeben.
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

FosJonas

BeitragDo, Jun 11, 2009 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 1280, 768, 0
SeedRnd MilliSecs()
Global frame= CreateTimer(60)
Global Key[240]
Global Tiles= LoadImage("Data\Img_Tiles.png")
DrawImage Tiles,0,0
Global Gras= GrabPixmap 0,0,64,64


Repeat
WaitTimer(frame)
Cls

For x= 0 To 19
For y= 0 To 10
DrawImage Gras,x*64,y*64
Next
Next

Flip 0
Until KeyDown(112) Or quit=1
End


Compile Error
Unable to convert from 'Tpixmap(Int,Int,Int,Int)' to 'Int'

BladeRunner

Moderator

BeitragDo, Jun 11, 2009 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutze immer Superstrict, das zwingt zum sauberen arbeiten.
Damit es klappt müssen die Argumente von GrabPixmap in Klammern stehen. Unter Supterstrict musst Du zusätzlich alle Variablen mit dem passenden Typ (und scope) deklarieren, also:
global gras:tpixmap = grabpixmap(0,0,64,64)

Aber nach dem was ich in deinem Beispiel sehe ist es sinniger mit loadanimimage zu arbeiten, da es dir ja um ein Tileset geht.
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

beanage.johannes

BeitragDo, Jun 11, 2009 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm... gewöhne dir aber erstmal an

supertstrict

Global Gras:TPixmap = GrapPixmap( 0,0,64,64 )

zu schreiben, das vereinfacht viehl, auch deinen fehler. denn gras ist ein pixmap kein iomage.
also musst du es erst in ein image "verwandeln".

Code: [AUSKLAPPEN]

gras:TImage = createimage( 64,64 )

Local Bild:TPixmap = Lockimage(gras)

Bild = GrapPixmap( 0,0,64,64 )

Unlockimage(gras)

drawimage gras,0,0
flip
...




EDIT:

ups Blade war schneller^^[/code]

FosJonas

BeitragDo, Jun 11, 2009 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt funkts, danke für die gute hilfe Very Happy

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group