html表白照片墙,【原创】【申精】用python去告白 绘制照片墙(自定义格式)
[Python] 純文本查看 復制代碼# -*- coding: utf-8 -*-
from PIL import Image
import os, sys
save_image_name = "New.png"
raw_name = "raw.bmp"
res_file = ".\\res" # 資源照片路徑
mw = 100 # 單個照片的尺寸
def load_raw(raw_name, data_list, _size):
im = Image.open(raw_name)
w, h = im.size
for i in range(w):
for j in range(h):
v = im.getpixel((i, j))
if v != 0:
# 將灰度圖的像素映射到照片墻的坐標內
x = i * _size[0] / w
y = j * _size[1] / h
data_list[x][y] = 1
def get_picture_list(picture_list):
for filename in os.listdir(res_file):
filepath = os.path.join(res_file, filename)
picture_list.append(filepath)
# 繪制一張照片到指定位置
def draw_picture(save_image, x, y, im_name):
in_image = Image.open(im_name)
in_image = in_image.resize((mw, mw),Image.ANTIALIAS)
save_image.paste(in_image, ((x-1)*mw, (y-1)*mw))
def main():
# 照片墻能容納的最大照片數量 20 * 20
w, h = (40, 40)
data_list =[[0 for col in range(h)] for row in range(w)]
# 加載灰度圖, 照片墻樣式
load_raw(raw_name, data_list, (w, h))
# 創建一張新的照片
save_image = Image.new('RGBA' ,(mw*w, mw*h))
# 獲取所有照片路徑名稱
picture_list = []
get_picture_list(picture_list)
pos = 0
print picture_list
# 按照樣式, 縮放繪制照片到指定位置
for i in range(w):
for j in range(h):
if data_list[i][j] > 0:
draw_picture(save_image, i, j, picture_list[pos])
print i, j
pos += 1
pos = pos % len(picture_list)
# 保存
save_image.show()
save_image.save(save_image_name)
if __name__ == '__main__':
main()
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的html表白照片墙,【原创】【申精】用python去告白 绘制照片墙(自定义格式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS 阴影效果
- 下一篇: python单元测试的应用_单元测试py