15行Python代码将图片转为Excel

编写了一小段Python代码,将图片转为了Excel,纯属娱乐。原理很简单,就是将图片每个像素的颜色填充到Excel对应的单元格中。

原图(horse.jpg):


15行Python代码将图片转为Excel_第1张图片


转换后的Excel文档(horse.jpg.xlsx):


15行Python代码将图片转为Excel_第2张图片


转换后的截图:


15行Python代码将图片转为Excel_第3张图片


放大截图:


15行Python代码将图片转为Excel_第4张图片


代码如下,就15行:

from PIL import Image
import openpyxl
from openpyxl.styles import PatternFill, Fill

imageFileName = 'horse.jpg' #图片文件名
image = Image.open(imageFileName) #打开图片
wb = openpyxl.Workbook() #创建Excel
sheet = wb.create_sheet(imageFileName) #创建sheet
imgW, imgH = image.size #获取图片大小
for w in range(imgW):
    for h in range(imgH):
        #将每个像素的颜色填充到对应cell的背景色中
        rgba = image.getpixel((w,h))
        colorHex = hex(rgba[0])[2:].zfill(2) + hex(rgba[1])[2:].zfill(2) + hex(rgba[2])[2:].zfill(2)
        fill = PatternFill(fill_type = 'solid', start_color=colorHex, end_color=colorHex)
        sheet.cell(row = h + 1, column = w + 1).fill = fill
wb.save(imageFileName + '.xlsx') #保存xlsx文件




你可能感兴趣的:(Python)