[英]Convert PIL image to bytearray
在C#中,我可以使用Bitmap.lockbits()來訪問位圖作為字節數組。 如何在PIL中執行此操作? 我嘗試過Image.write(),但是它為流寫了一個完整格式的圖像。
from io import BytesIO
from PIL import Image
with BytesIO() as output:
with Image.open(path_to_image) as img:
img.save(output, 'BMP')
data = output.getvalue()
.. 警告::
此方法從內部存儲器返回原始圖像數據。 對於壓縮的圖像數據(例如PNG,JPEG)使用:甲基:
~.save
,與存儲器內數據一個BytesIO參數。
這是tobytes方法中的警告。 因此我們可以使用帶有BytesIO參數的save方法來獲取壓縮的字節數組。
import io
byteIO = io.BytesIO()
image.save(byteIO, format='PNG')
byteArr = byteIO.getvalue()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.