Koordinaten berechnen
Übersicht

![]() |
FarbfinsternisBetreff: Koordinaten berechnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry Leute, ich habe gerade eine Denksperre bei folgendem Problem, welches wahrscheinlich total simpel zu lösen ist. Ich komme leider gerade nicht drauf.
Folgendes: Ich habe ein Bild das in ein Raster aufgeteilt ist ![]() Ich kenne die Breite und Höhe des Bildes sowie die Breite und Höhe der einzelnen Kästchen ... wie kann ich nun zu jeder Nummer die linke/obere Koordinate in Pixeln ausrechnen?? Danke schonmal für hilfreiche Tipps ![]() |
||
Farbfinsternis.tv |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du es so in der Richtung?
Code: [AUSKLAPPEN] SuperStrict
Framework BRL.GLMax2D Const Width:Int=32 Const Height:Int=32 Const OffsetX:Int = 64 Const OffsetY:Int = 64 Graphics 480,320 Local Mx:Int=0 Local My:Int=1 Repeat Cls ' Zeichnen For Local y:Int=0 Until 6 For Local x:Int=0 Until 6 DrawRect OffsetX+x*Width,OffsetY+y*Height,Width,1 DrawRect OffsetX+x*Width,OffsetY+y*Height,1,Height DrawRect OffsetX+x*Width+Width,OffsetY+y*Height,1,Height DrawRect OffsetX+x*Width,OffsetY+y*Height+Width,Width,1 DrawText x+y+1,OffsetX+x*Width+Width/2,OffsetY+y*Height+Height/2 Next Next Mx=(MouseX()-OffsetX)/Width My=(MouseY()-OffsetY)/Height ' Maus im Bereich If Mx<6 And My<6 And Mx>=0 And My>=0 SetColor 255,0,0 DrawOval OffsetX+Mx*Width-4,OffsetY+My*Height-4,8,8 SetColor 255,255,255 EndIf Flip Until KeyDown(KEY_ESCAPE) Or AppTerminate() Ich hoffe es macht nichts aus wenn ich zur Erklärung BlitzMax benutze ![]() Gruß, FOODy |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nee, eher nicht. Ich hole mal etwas weiter aus:
Ich benötige das um in AmiBlitz3 einen Ersatz für die Funktion DrawImage() zu schreiben. Auf dem AMIGA steht mir leider kein LoadAnimImage zur Verfügung. Der Funktion übergebe ich das Bild, die X und Y Koordinate wo es hin geblitted werden soll und den zu blittenden Frame. Innerhalb der Funktion lese ich die Breite und Höhe des Bildes aus, die Frame-Größe kenne ich über die Konstanten #TILE_WIDTH und #TILE_HEIGHT. Nun muss ich anhand der Framenummer, der Breite des Bildes, der Höhe des Bildes und der Framemaße ausrechnen wo die linke/obere Ecke des zu zeichnenden Bereichs liegt. |
||
Farbfinsternis.tv |
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmmmm.....
Ich hoffe mal das ich es diesmal richtig verstanden habe ![]() Code: [AUSKLAPPEN] SuperStrict
Framework BRL.GLMax2D Import BRL.StandardIO Const Width:Int=32 Const Height:Int=32 Graphics 480,320 ' Pixmap generieren Local i:Int=1 For Local y:Int=0 Until 3 For Local x:Int=0 Until 3 DrawRect x*Width,y*Height,Width,1 DrawRect x*Width,y*Height,1,Height DrawRect x*Width+Width,y*Height,-1,Height DrawRect x*Width,y*Height+Width,Width,-1 DrawText i,x*Width+Width/2,y*Height+Height/2 i:+1 Next Next Global pixmap:TPixmap = GrabPixmap(0,0,Width*6,Height*6) ' Tile besorgen Local frame:TImage = LoadImage(GetTile(5)) Repeat Cls DrawPixmap pixmap, 64,64 DrawImage frame,MouseX(),MouseY() Flip Until KeyDown(KEY_ESCAPE) Or AppTerminate() ' Tile extrahieren Function GetTile:TPixmap(index:Int) Local row:Int Local col:Int row = index/3 col = index Mod 3 Return pixmap.Window(col*Width,row*Height,Width,Height) EndFunction Gruß, FOODy EDIT: So oben. |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
- Zuletzt bearbeitet von FOODy am Di, Apr 03, 2007 15:13, insgesamt einmal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ganz einfach:
Code: [AUSKLAPPEN] AnzahlSpalten = BreiteDesBildes /BreiteDerFrames
Spalte = Nummer Mod AnzahlSpalten Zeile = ( Nummer -Spalte ) /AnzahlSpalten KoordinateX = Spalte *BreiteDerFrames KoordinateY = Zeile *HoeheDerFrames Hoffe du wolltest das ![]() MfG |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey, danke Holzchopf ... exakt das habe ich gesucht !! *thumbs up!* | ||
Farbfinsternis.tv |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group