مشكلة في قراءة قيم RGB للبكسلات باستخدام Pyglet

StackOverflow https://stackoverflow.com/questions/4200212

  •  25-09-2019
  •  | 
  •  

سؤال

بالنسبة لمشروع البرمجة ، أحتاج إلى قراءة وحدات البكسل من صورة محملة باستخدام 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]))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top