مشكلة في قراءة قيم RGB للبكسلات باستخدام Pyglet
سؤال
بالنسبة لمشروع البرمجة ، أحتاج إلى قراءة وحدات البكسل من صورة محملة باستخدام Pyglet. لقد استخدمت "pyglet.image.load ('map.png')" لتحميل الصورة ، واكتشفت أنه يمكنك استرداد بيانات الصورة باستخدام img.get_image_data (). أنا استخدم الخط mapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)
لقراءة البيانات من البيكسل الموجودة في (x ، y). هذا هو المكان الذي أتعثر فيه. عندما أقوم بطباعة نتيجة الخط أعلاه ، أحصل على مساحة فارغة. هل يمكن لأي شخص توضيح كيف أقوم باستخراج قيم RGB من السلسلة التي يتم إرجاعها بواسطة وظيفة get_data ()؟
شكرًا!
المحلول
MapImage الخاص بك ... إرجاع سلسلة مع 4 أحرف تمثل RGBA.
جرب هذا:
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]))
لا تنتمي إلى StackOverflow