簡體   English   中英

使用 Python 將圖像轉換為 Bytearray

[英]Converting Image to Bytearray with Python

我想將圖像文件轉換為 Bytearray。 我使用 minecart lib 從 pdf 文件中提取了圖像,但找不到將其轉換為 bytearray 的方法。 這是我的代碼:

import minecart
from PIL import Image
import io

pdffile = open('sample6.pdf', 'rb')
doc = minecart.Document(pdffile)


for page in doc.iter_pages():
    print(page)
    img = page.images[0].as_pil()

    print(img) # <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=1641x2320 at 0x7FBDF02E6A00>

    print(type(img)) # <class 'PIL.JpegImagePlugin.JpegImageFile'>

我曾嘗試使用bytearray(img)但它不起作用。 你有解決方案嗎(不消耗太多時間的解決方案)?

創建io.BytesIO緩沖區並使用PIL.Image.save寫入它。 根據要求設置適當的質量和其他參數。

import io
from PIL import Image

def convert_pil_image_to_byte_array(img):
    img_byte_array = io.BytesIO()
    img.save(img_byte_array, format='JPEG', subsampling=0, quality=100)
    img_byte_array = img_byte_array.getvalue()
    return img_byte_array

參考:

為什么 PIL 生成的 JPEG 圖片質量這么差?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM