Frage

Für ein Programmierungsprojekt muss ich Pixel aus einem geladenen Bild mit Pyglet lesen. Ich habe "pyglet.image.load ('map.png') verwendet, um das Bild zu laden, und fand heraus, dass Sie die Bilddaten mit img.get_image_data () abrufen können. Ich benutze Zeile mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)

Lesen Sie die Daten aus dem Pixel unter (x, y). Hier bin ich stecken. Wenn ich das Ergebnis der obigen Linie drucke, bekomme ich einen leeren Raum. Könnte jemand klarstellen, wie ich die RGB -Werte aus der von der Funktion get_data () zurückgegebenen Zeichenfolge extrahiere?

Vielen Dank!

War es hilfreich?

Lösung

Ihr MapImage ... gibt eine Zeichenfolge mit 4 Zeichen zurück, die RGBA darstellen.

Versuche dies:

pix = mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)

print 'r = ' + str(ord(pix[0]))
print 'g = ' + str(ord(pix[1]))
print 'b = ' + str(ord(pix[2]))
print 'a = ' + str(ord(pix[3]))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top