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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理(6):备战pmp

项目整体管理 定义: 识别、定义、结合、统一与协调项目管理过程组中的各个过程以及项目管理活动 在各个相互冲突的目标与方案之间权衡取舍 在项目管理中发挥明显的重要作用 Eg:应急计划的成本估算成本管理时间管理风险管理 基本任务: …

使用offsetof对结构体指针偏移操作

题目来自于COMP20003 Tutorial 2: Program m ing Challenge 2.2 The technology stack at Hidebound Inc. uses a subset of C w hich doesnt have the . or ->operators, as the higher-ups heard shortcuts like this w ere useful in an activity called &quo…

项目管理(7):备战pmp

1.2制定项目初步范围说明书 项目范围说明书(初步) 目的: 登记项目及其产品和服务的特征与边界,以及验收与范围控制的方法 内容: 项目与产品的目标 产品或服务的要求与特性 产品验收标准 项目边界 项目要求与可…

旅馆客未满 计算机术语,前厅测试题

《前厅服务》单元测试一一、单项选择题(每题1分,共50分)1、按照人类生产、生活、社会实践活动领域的不同,道德可划分为三个组成部分,其中不包括()。A、职业道德B、家庭美德C、社会良知D、社会公德2、职业道德是人们在长期的职业活动中形成的(…

2018 java蓝桥杯校赛题目

1.【问题描述】 100 可以表示为带分数的形式:100 3 69258 / 714还可以表示为:100 82 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表…

计算机操作系统(7):进程的基本概念

2.1 进程的基本概念 程序的顺序执行及其特征程序的并发执行及其特征进程的特征与状态进程控制块 2.1.1 程序的顺序执行及其特征 顺序执行包含两层含义: 在单道批处理系统中,对于多个用户程序来说,所有程序是依次执行的。(外部顺序性) 对…

无法打开计算机上的event log服务,Win7系统下启用Windows event log服务发生4201错误的正确解决方法...

Windows event log服务会把程序与系统发送的错误消息记录在日志中,其中还包含了部分有用的诊断信息,近期有Win7用户在启用windows event log服务的时候,发生4201错误提示框。那么该如何解决该问题?下面装机之家分享一下Win7系统下…

广义线性模型的计算机应用技术学院,SPSS数据分析—广义线性模型

我们前面介绍的一般线性模型、Logistic回归模型、对数线性模型、Poisson回归模型等,实际上均属于广义线性模型的范畴,广义线性模型包含的范围非常广泛,原因在于其对于因变量、因变量的概率分布等条件的限制放宽,使其应用范围加大。…

没有时间

请理解时间是运动的表现 转载于:https://www.cnblogs.com/eiya/p/10053311.html

中国第一个计算机病毒什么时候,新中国成立以来的第一例电脑病毒小球病毒是在1988年发现...

扩展阅读:1988年,随着软件交流,石头和小球病毒跟随软盘悄悄地通过香港和美国进入了中国内地,并在人们的懵懂之间在大型企业和研究所间广为传播。小球病毒是国内发现的第一个计算机病毒。发作条件是当系统时钟处于半点或整点&#…

计算机操作系统(8):进程的控制

2.2 进程控制 进程控制是进程管理中最基本的功能。 进程控制包括: ◆ 创建进程 ◆ 终止进程 ◆ 进程状态转换 进程控制是由OS的内核完成的。 2.2.1 进程的创建 2.进程的创建 调用进程创建原语Create(),按下述…

Linux起不来,如何修复

用于系统启动不了的情况: 配置文件修改错误。 grub挂的了。 忘记Linux root密码,修改root密码 rd.break mount -o remount,rw /sysroot chroot /sysroot 这样既可对系统进行修复啦!比如修改/etc/fstab文件。转载于:https://www.cnblogs.com/y…

计算机操作系统(9):深入理解B/S与C/S架构

深入理解B/S与C/S架构 阅读目录 C/S架构简要介绍 什么是B/S架构 B/S架构的几种形式 发展前景 一、C/S架构简要介绍 在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构: C/S架构是第一种比较早的软件架构,主要用于局域网内。也叫…

计算机信息管理相关课题论文,计算机信息管理课题论文[].doc

计算机信息管理课题论文[]目 录一、 引言………………………………………………………………… 2二、方案目标………………………………………………………………2三、安全需求………………………………………………………………3四、风险分析……………………………………………

硬件设计--DC/DC电源芯片详解

本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao12138/article/details/79763343 第一次写博客,不喜勿喷,谢谢!!! DC/DC电源指直流转换为直流…

计算机操作系统(10):集群和分布式

简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时…

Unity预计算全局实时GI(gi params)

Unity提供许多进阶的光照贴图控制方法,这些设定被放在一个光照参数集(LightmapParameters)的资源里,好让设定能在不同的项目场景或是透过版本控制和团队一起共享。 要建立一个Lightmap Parameters资源,先找到Project窗口从Create下拉选单建立…

计算机工程与应用单像素成像,2011计算机工程与应用基于压缩感知理论的单像素成像系统研究_白凌云.pdf...

2011计算机工程与应用基于压缩感知理论的单像素成像系统研究_白凌云.pdf116 2011 ,47 (33) Computer Engineering and Applications 计算机工程与应用基于压缩感知理论的单像素成像系统研究1 1 2白凌云,梁志毅 ,徐志军1 1 2BAI Lingyun &…

计算机操作系统(11):负载均衡

负载均衡是高可用网络基础架构的的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台,然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。 为什么要引入负载均衡…

[bzoj3994] [SDOI2015]约数个数和

Description 设d(x)为x的约数个数,给定N、M,求 \(\sum_{i1}^N\sum_{j1}^Md(ij)\) Input 输入文件包含多组测试数据。 第一行,一个整数T,表示测试数据的组数。 接下来的T行,每行两个整数N、M。 Output T行,每…