/ / अजगर में एक PNG छवि में पूर्णांक सरणी बदलें - अजगर, पीएनजी

पाइथन - पायथन, पीएनजी में एक पूर्णांक सरणी को एक पीएनजी छवि में कनवर्ट करें

मैं 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 समारोह है कि वास्तव में क्या आप "के लिए देख पुनः करना चाहिए ।