Android Kollisionen von 2 Bitmaps

4

4234asdsdfsdf

Gast
Hey,
ich beschäftige mich im moment mit der pixelgenauen Kollision von 2 Bitmaps.

Hab leider überhaupt keine Idee, wie ich dies realisieren soll. Gibt's da irgendwie ein gutes example?
Eine fertige API möchte ich nicht benutzen. Wollte dies gerne selber schreiben.
Wäre nett, wenn ihr mir die Grundzüge der Pixelgenauen Kollision erklären könntet, bzw was ich dafür brauche. Es geht um 2d Grafiken in Form von Bitmaps.

Desweiter würde ich gerne wissen was genau eine Bitmap ist. In welcher Form liegen dort die Bilder vor?

In Bytes?

Wäre nett, wenn ihr mir helfen könntet.
 
T

TMI

Gast
Du willst pixelgenaue Kollision - dann mach das doch auch?! Ein Bild ist im Speicher ein 2Dimensionales Array mit den einzelnen Farbwerten. Überprüfe jeden Pixel mit jedem Pixel des anderen Bildes auf Kollision und du hast deine erste pixelgenaue Kollision zwischen 2 Bildern.
Danach überlegst du dir einen Algorithmus mit dem du die Berechnung Effizienter machen kannst (Bspw. braucht man die einzelne Pixelberechnung nicht durchzuführen wenn die Quadrate der Bilder sich nicht überschneiden, etc...)

Und: Selbstverständlich wird eine Bitmap genau wie jede andere Datei mit Bytes auf dem Computer gespeichert. Wie sollen die Daten sonst vorliegen? In Zitronen?
Die Datei heist ja sogar noch "Bitmap".
Außerdem ist es eigentlich völlig egal wie das Bild codiert in der Datei vorliegt, um es verwenden zu können muss es dekodiert werden (Was beim einlesen ins Programm normalerweise automatisch passiert) und liegt im Programm dann als zweidimensionales Pixelarray vor. Egal welches Bildformat.
Bitmap hat jedoch die lustige eigenschaft in keinster Weise komprimiert zu sein - das Bild liegt also bereits in der Datei als eine Art zweidimensionales Array vor.
Erkennt man sehr gut wenn man ein einfaches kleines schwarzweiß Bild als Bitmap abspeichert und die Datei dann mit einem Texteditor öffnet.

Grus
Net
 

schlingel

Gesperrter Benutzer
Normalerweise teilt man dazu das Bitmap in Raster auf und kontrolliert nur die interessanten Raster. Welche Raster "interessant" sind, kommt darauf an was du machst.

Bei Worms z.B. wird nur die Oberfläche der Landschaft und nicht auch das innere der unerreichbaren Areale überprüft.
 

Neue Themen


Oben