编写了一小段Python代码,将图片转为了Excel,纯属娱乐。原理很简单,就是将图片每个像素的颜色填充到Excel对应的单元格中。
原图(horse.jpg):
转换后的Excel文档(horse.jpg.xlsx):
转换后的截图:
放大截图:
代码如下,就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文件