資源簡介
利用Python在Excel中點陣繪圖
代碼片段和文件信息
from?openpyxl?import?Workbook
from?openpyxl.utils?import?get_column_letter
from?openpyxl.styles?import?PatternFill?Color?from?PIL?import?Image?#?定義常量?
IMAGE_FILE?=?‘starsky.jpg‘?#?圖片的文件名?
IMAGE_MAX_SIZE?=?400?#?圖片長邊像素的最大值,如果超出此值,將縮小圖片。?
img?=?Image.open(IMAGE_FILE)?print(‘image\‘s?type?is?%s‘?%?img.format)?#?修正圖片尺寸?
img_width?img_height?=?img.size?
print(‘image\‘s?size?is?(%s?%s)‘?%?(img_width?img_height))?
if?img_width?>?IMAGE_MAX_SIZE:?
img_height?=?int(img_height?*?IMAGE_MAX_SIZE?/?img_width)?
img_width?=?IMAGE_MAX_SIZE?
if?img_height?>?IMAGE_MAX_SIZE:?
img_width?=?int(img_width?*?IMAGE_MAX_SIZE?/?img_height)?
img_height?=?IMAGE_MAX_SIZE?
img.thumbnail((img_width?img_height))?#?縮小圖片尺寸?
print(‘image\‘s?new?size?is?(%s?%s)‘?%?(img_width?img_height))?#?由于excel對單元格填充色有要求,所以用以下兩行代碼把圖片轉(zhuǎn)換為8位色值?
img?=?img.convert(‘P‘)?
img?=?img.convert(‘RGB‘)?
pix?=?img.load()?
workbook?=?Workbook()?
worksheet?=?workbook.active
評論
共有 條評論