मैं RGB मानों के पूर्णांक सरणी को PNG छवि में बदलने की कोशिश कर रहा हूं। मैं निम्नलिखित पूर्णांक सरणी से निम्न छवि कैसे उत्पन्न कर सकता हूं?
"""This is a 3D integer array. Each 1D array inside this array is an RGBA value"""
"""Now how can I convert this RGB array to the PNG image shown above?"""
rgbArray = [
[[255,0,0], [255, 0, 0], [255, 0, 0], [255, 0, 0], [0,0,255], [0,0,255], [0,0,255], [0,0,255]],
[[255,0,0], [255, 0, 0], [255, 0, 0], [255, 0, 0], [0,0,255], [0,0,255], [0,0,255], [0,0,255]],
[[255,0,0], [255, 0, 0], [255, 0, 0], [255, 0, 0], [0,0,255], [0,0,255], [0,0,255], [0,0,255]],
[[255,0,0], [255, 0, 0], [255, 0, 0], [255, 0, 0], [0,0,255], [0,0,255], [0,0,255], [0,0,255]],
[[0,0,255], [0,0,255], [0,0,255], [0,0,255], [255, 0, 0], [255, 0, 0], [255, 0, 0], [255, 0, 0]],
[[0,0,255], [0,0,255], [0,0,255], [0,0,255], [255, 0, 0], [255, 0, 0], [255, 0, 0], [255, 0, 0]],
[[0,0,255], [0,0,255], [0,0,255], [0,0,255], [255, 0, 0], [255, 0, 0], [255, 0, 0], [255, 0, 0]],
[[0,0,255], [0,0,255], [0,0,255], [0,0,255], [255, 0, 0], [255, 0, 0], [255, 0, 0], [255, 0, 0]],
]
उत्तर:
जवाब के लिए 5 № 1आप इसका उपयोग कर सकते हैं अजगर इमेजिंग पुस्तकालय आरजीबी डेटापॉइंट को अधिकांश मानक प्रारूपों में बदलने के लिए।
from PIL import Image
newimage = Image.new("RGB", (len(rgbArray[0]), len(rgbArray))) # type, size
newimage.putdata([tuple(p) for row in rgbArray for p in row])
newimage.save("filename.png") # takes type from filename extension
जो उत्पादन करता है:
The .save()
विधि भी एक प्रारूप तर्क ले सकते हैं, PNG
PNG के लिए उत्पादन ठीक होगा ।
(मैं सुझाव है कि आप स्थापित तकिया कांटा के रूप में इसे और अधिक सक्रिय रूप से बनाए रखा है और उचित पैकेजिंग और अजगर 3 समर्थन कहते हैं) ।
उत्तर № 2 के लिए 1
The अजगर इमेजिंग पुस्तकालय (PIL) अजगर में सबसे इमेजिंग जरूरतों के लिए आसान है । को छवि मॉड्यूल एक है fromstring
समारोह और एक save
समारोह है कि वास्तव में क्या आप "के लिए देख पुनः करना चाहिए ।