iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用Python制作心型照片墙效果
  • 641
分享到

利用Python制作心型照片墙效果

2024-04-02 19:04:59 641人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

每到一年一度的520等节假日,作为一个地地道道的程序猿心里慌得一批。除了吃饭买礼物看电影好像就没有更多的想法了,于是想想将女友从以前到现在的所有照片整理了一下准备制作一个前所未有的照

每到一年一度的520等节假日,作为一个地地道道的程序猿心里慌得一批。除了吃饭买礼物看电影好像就没有更多的想法了,于是想想将女友从以前到现在的所有照片整理了一下准备制作一个前所未有的照片墙。

当然,这里我使用的照片是从百度上面拿下来的,私人照片不能公开,哈哈~

没有女朋友的也可以试试,毕竟万一哪天就有了呢!

话不多说,进入正题吧,先将需要的非标准库梳理一下,只有一个PIL图像处理库,另外一个是os的标准库是用来操作文件的。

from PIL import Image
import os

然后,定义一个二维数组,这个二维数组是由0和1组成的,观察一下0的位置联合起来就是一个心的形状,之后我们需要按照这个规则将需要的照片放置上去就形成了一个心形的照片墙。

location = [
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1],
    [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1],
    [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],
    [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],
    [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1],
    [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
]

需要注意的是0的数量其实就是照片的数量,所以尽可能的0的数量是需要小于等于照片的数量,可以根据自己的实际情况进行微调一下也是OK的。

由于我们自己的照片每张的大小可能都是不统一的,所以必须指定一下每张图片放入后的大小。

img_w = img_h = 192  # 宽高都设置为192像素

# 计算location二维数组的行的个数、列的个数
rows = len(location)
columns = len(location[0])

# 使用行、列的个数以及每张图片的像素计算出目标画布的大小。
canvas = Image.new("RGB", (img_w*columns, img_h*rows),"white")

我们需要在这个画布上面摆放我们的照片。

下面将我们需要的素材照片拿过来,设置素材图片(女友照片)所在的文件夹。

source_img_dir = r"C:\software\PyCharm-workspace\the-public\test008\images"
source_imgs = os.listdir(source_img_dir)

没有女朋友照片的也不要灰心,可以去百度上面下载哈,可以看看我之前的文章'百度图片下载2.0'下载很多很多的照片,哈哈哈哈!

接下来就可以来生成我们期待的心形照片墙了,进入收割环节。

# 定义一个下标值,方便从我们的imgs数组里面取出照片。
index = 0

# 通过遍历二维数组中的行、列,从而在相应的位置放上我们的照片。
for row in range(rows):

    for column in range(columns):

        # 若是当前二维数组中的元素为1时,表示该位置不在心形需要的位置上故不做处理。
        if location[row][column] == 1:

            continue

        # 若是当前二维数组中的元素为1时,需要将一张照片放到该位置上
        else:

            try:

                # 获取一张图片并打开为Image对象
                image = Image.open(os.path.join(source_img_dir, source_imgs[index]))

                # 重新设置当前照片的尺寸大小
                image = image.resize((img_w, img_h))

                # 将照片image对象,放在画布的特定位置
                canvas.paste(image, (img_w * column, img_h * row))

                # 递增图片列表中的图片下标
                index += 1

            except:

                continue

展示照片墙

canvas.show()

保存照片墙

canvas.save('心形-照片墙.png')

到此这篇关于利用python制作心型照片墙效果的文章就介绍到这了,更多相关Python照片墙内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用Python制作心型照片墙效果

本文链接: https://www.lsjlt.com/news/118343.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Python制作心型照片墙效果
    每到一年一度的520等节假日,作为一个地地道道的程序猿心里慌得一批。除了吃饭买礼物看电影好像就没有更多的想法了,于是想想将女友从以前到现在的所有照片整理了一下准备制作一个前所未有的照...
    99+
    2024-04-02
  • 如何利用Python制作心型照片墙效果
    这篇文章主要介绍“如何利用Python制作心型照片墙效果”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何利用Python制作心型照片墙效果”文章能帮助大家解决问题。先将需要的非标准库梳理一下,只有...
    99+
    2023-06-30
  • python实现心型照片墙效果
    今天分享如何用python制作好看的心型照片墙,供大家参考,具体内容如下 效果 我们先来看下效果图,了解我们接下来要做的事情,我的效果图如下: 感觉如何?如果还满意,看完幸苦点个赞...
    99+
    2024-04-02
  • 使用css怎么制作一个3D照片墙效果
    这期内容当中小编将会给大家带来有关使用css怎么制作一个3D照片墙效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。利用css制作3D照片墙,具体代码如下所示:<!doctype html...
    99+
    2023-06-08
  • 怎么用css3实现照片墙效果
    本篇内容介绍了“怎么用css3实现照片墙效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一张张照片散乱的...
    99+
    2024-04-02
  • 如何使用css3实现照片墙效果
    这篇文章主要为大家展示了“如何使用css3实现照片墙效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用css3实现照片墙效果”这篇文章吧。代码如下:&l...
    99+
    2024-04-02
  • 使用CSS3制作黑白照片效果的方法
    本篇内容主要讲解“使用CSS3制作黑白照片效果的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“使用CSS3制作黑白照片效果的方法”吧!CSS3 中的滤镜(f...
    99+
    2024-04-02
  • 如何使用CSS3简单实现照片墙效果
    小编给大家分享一下如何使用CSS3简单实现照片墙效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!HTML代码如下:<bo...
    99+
    2024-04-02
  • 用Python制作一个动态爱心效果!
    大家好,我是小F~ 最近「点燃我,温暖你」这部剧非常火,讲述的是程序员的爱情故事。 其中陈飞宇饰演的男主李峋,在剧中用程序做出的爱心跳动效果,非常炫。 网上各个大佬也是纷纷给出看法,综合就是不太可能用C语言来实现的。 大概率...
    99+
    2023-09-10
    python 开发语言
  • 如何用Python制作一个动态爱心效果
    目录 ① Python跳动爱心 ② Python爱心泡泡 ③ JavaScript 最近「点燃我,温暖你」这部剧非常火,讲述的是程序员的爱情故事。 其中陈飞宇饰演的男主李峋,在剧中用程序做出的爱心跳动效果,非常炫。 网上各个大佬也是纷...
    99+
    2023-10-05
    python 开发语言
  • 详解利用Python制作中文汉字雨效果
    直接上代码 import pygame import random def main(): # 初始化pygame pygame.init() #...
    99+
    2024-04-02
  • 「点燃我,温暖你」用Python制作一个动态爱心效果
    最近「点燃我,温暖你」这部剧非常火,讲述的是程序员的爱情故事。 其中陈飞宇饰演的男主李峋,在剧中用程序做出的爱心跳动效果,非常炫。 网上各个大佬也是纷纷给出看法,综合就是不太可能用C语言来实现的。 ...
    99+
    2023-10-09
    python 开发语言 爱心代码 效果 html
  • 利用Python制作百度图片下载器
    前段时间写了一个百度图片下载器,结果发现有很多人需要使用。说实话之前写的那一款百度图片下载器比较LOW,今天刚好有时间就做了一下升级。 更新了两个BUG,一个是图片下载达到几千张的时...
    99+
    2024-04-02
  • 怎么用css制作一个简单的爱心效果
    这篇文章主要讲解了“怎么用css制作一个简单的爱心效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用css制作一个简单的爱心效果”吧! ...
    99+
    2024-04-02
  • 利用Matlab制作环形相册效果详解
    目录运行效果完整步骤1.图片准备及导入2.为每张图片制作遮罩层3.调整每张图大小4.绘图及绘图参数详解完整代码运行效果 完整步骤 1.图片准备及导入 要制作一款相册足够的图片量是...
    99+
    2024-04-02
  • 利用python 制作词云特效详情
    目录一、特效预览二、程序原理三、程序源码什么是 ​词云​ ​词云​ 其实就是就是对网络文本中出现频率较高的〝关键词〞予以视觉上的突出,形成〝关键词云层〞或〝关键词...
    99+
    2024-04-02
  • 如何使用jQuery制作Web图片轮播效果
    本篇内容主要讲解“如何使用jQuery制作Web图片轮播效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用jQuery制作Web图片轮播效果”吧!jquery提供了丰富的选择器以及用来挑...
    99+
    2023-07-04
  • 如何使用CSS制作镂空效果的图片
    在网页设计中,如何制作出独特、有吸引力的效果是一个不断探索的问题。其中,镂空效果是一种常见而又常用的技巧之一。通过使用CSS,我们可以实现为图片添加镂空的效果,从而提升页面的美观程度和吸引力。下面,我们将详细介绍如何使用CSS制作镂空效果的...
    99+
    2023-10-21
    CSS 图片 镂空效果
  • 怎么利用CSS制作一个聚光灯效果
    今天小编给大家分享一下怎么利用CSS制作一个聚光灯效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2024-04-02
  • 使用Photoshop制作出下雨,雨景效果图片
    原图:...
    99+
    2023-06-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作