这段 Python 代码,可以让你脱单

Python画一个时钟 import turtle from datetime import * # 抬起画笔,向前运动一段距离放下 def Skip(step): turtle.penup() turtle.forward(step) turtle.pendown() def mkHand(name, length): # 注册Turtle形状,建立表针Turtle turtle.reset() Skip(-length * 0.1) # 开始记录多边形的顶点。当. 阅读详情

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

作者:@明哥
公众号:Python编程时光

2020年,这个看起来如此浪漫的年份,你还是一个人吗?

难不成我还能是一条狗?

18年的时候,写过一篇介绍如何使用 Python 来表白的文章。

虽然创意和使用效果都不错,但有一缺点,这是那个exe文件,女神需要打开电脑,才有可能参与进来,进而被你成功"调戏”。

由于是很早期的文章了,应该有很多人没有看过。

没有看过的,你可以点击这里查看:用Python写一个表白神器让你脱离单身

提醒你一下,后天就是 2月14日了。什么?还是一条狗呢?

行吧,那你赶上了,今天的文章,就是为你而写。

明哥今天来教你如何使用 Python 来向心中的女神表白。

前段时间,在微博上刷到了一条推荐。内容是这样的

出于好奇,我点开了,放大再放大,emmm,有点意思吖…

这四个字,对于像我这样腼腆的DS男来说,还真不好意思说,说出来,万一被拒绝了咋办?

使用套路来表白,并观察对方的反应,你大概能清楚对方是否对你也有好感,先测试下自己有几成的把握再下手或许更稳妥。

今天就教大家一个这样的套路:如何使用 Python 来做出来这样的图,有点浪漫,又有点极客。能不能拿下你女神,就要靠你(命)了。(๑•́₃ •̀๑)

首先,你得先找到一张你女神的高清图片(尽量分辨率高点的吧,效果会好点)。

这里我以一张高圆圆的图来做一下演示,原图是这样的(分辨率是:2000*1328)。

使用我写好的脚本运行后,就生成了这样一张图,请你点击,放大再放大。(惊喜?

然后将这张图片发给你的女神,具体话术你自己想咯。


好吧,相比女神来说,你可能更在意这是如何实现的(活该你单身)。

其实原理很简单,代码也还不到20 行。

首先,来讲讲原理。

事实上,每一张图片都是由一个一个的像素点所组成的。而每个像素点,都有自己的颜色,其颜色可以用一个数组来表示:(a,b,c),其中每位数的取值范围都是 0-255。

比如(0,0,0)代表黑色,(255,255,255)代表白色。

当像素点足够多的时候,这张照片就是我们所说的高清照片。

而如果当像素点太少,我们的肉眼就能感知到明显的锯齿感。

用 Excel 画了个图,每一方格代表一个像素,其中若我的字体的大小设置 5(非字号5,而是每个字占用5个像素),效果大概就是如下这样子。

我只要每个像素取出一个像素值,并使用这个像素做为该字的颜色即可,在像素量够多的情况下,从远处看,是能看到我们原来图像的轮廓的。

有了思路,就可以开始我们的代码。

首先,使用 pillow.Image读取图像,并使用load函数获取到每一个像素值。

img_raw = Image.open(img_path)
img_array = img_raw.load()

然后新建一张画布,并选好你要使用的字体和字体大小。

img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
font = ImageFont.truetype('C:/Windows/fonts/Dengl.ttf', font_size)

由于需要不断循环 “我喜欢你!”,这五个字符。所以这里可以while循环 yield 来实现一个生成器。

def character_generator(text):
    while True:
        for i in range(len(text)):
            yield text[i]

最后,要给这些字加上相应的颜色,写入新创建的画布中。

for y in range(0, img_raw.size[1], font_size):
    for x in range(0, img_raw.size[0], font_size):
        draw.text((x, y), next(ch_gen), font=font, fill=img_array[x, y], direction=None)

最后将成品保存

img_new.convert('RGB').save("F://gyy_save.jpeg")

完整代码如下,供你参考

from PIL import Image, ImageDraw, ImageFont

font_size = 7
text = "我喜欢你!"
img_path = "F://gyy.jpeg"

img_raw = Image.open(img_path)
img_array = img_raw.load()

img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
font = ImageFont.truetype('C:/Windows/fonts/Dengl.ttf', font_size)

def character_generator(text):
    while True:
        for i in range(len(text)):
            yield text[i]

ch_gen = character_generator(text)

for y in range(0, img_raw.size[1], font_size):
    for x in range(0, img_raw.size[0], font_size):
        draw.text((x, y), next(ch_gen), font=font, fill=img_array[x, y], direction=None)

img_new.convert('RGB').save("F://save.jpeg")

最后再多上几张效果图吧(对,我是海贼迷)。

1. 路飞

2. 索隆

3. 山治

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~

题图:pexels,CC0 授权。

好文章,我在看❤️

Python实例:爱心代码 在编程的奇妙世界里,代码不仅仅是冰冷的指令集合,它还可以成为表达情感、传递温暖的独特方式。今天,我们将一同探索用 Python 语言绘制爱心的神奇之旅。爱心,这个象征着爱与温暖的符号,一直以来都在人类的情感世界中占据着特殊的地位。而通过 Python 的强大功能,我们可以将这一美好的象征以数字化的形式呈现出来。无论是向心爱的人表达爱意,还是为了给自己的编程之旅增添一抹浪漫的色彩,这段 Python 爱心代码都将成为你手中的魔法棒。它不仅仅是一段代码,更是一份情感的寄托,一个创意的表达。 阅读详情

相关推荐

Python实现飞书机器人定时发送文本、图片等群消息

python实现飞书群自动发送告警消息

tyh_keephunger的博客 2万+

Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

Python表白源码合集(全部测试可行)

阿黎逸阳的博客 12万+

大华摄像头GB28181协议接入EasyCVR全流程(附常见错误排查)

本文详细阐述了大华摄像头通过GB28181协议接入EasyCVR视频管理平台的全流程,涵盖从核心原理、前期参数规划、Web界面配置到平台侧验证的完整步骤。重点针对网络端口、SIP参数配置等关键环节提供了深度排错指南,并总结了设备无法注册、在线不稳定、拉流失败等常见问题的排查思路与解决方案,旨在帮助安防工程师与系统集成商高效完成设备接入与调试。

weixin_29279153的博客 282

【附源码】六个Python表白小代码,送给心爱的她,让她高兴一整天~

话说明天就是七夕了,买礼物了吗?什么?居然还没买礼物,那这个代码正好送给你,六个Python爱心表白代码,让她高兴一整天!

轻松学python的博客 2万+

Python实现的无法拒绝的情人节表白代码python情人节表白代码

Python实现的无法拒绝的情人节表白代码python情人节表白代码

2301_76484015的博客 870

Python表白代码合集:5种表白代码,找不到对象你来找我,这也太秀了叭

爬虫看多了,对身体不好,我们来点现实的,学学表白找个女朋友他不香吗,对吧~ 文章最后教你们怎么打包成exe,如果你懒得搞懂代码怎么回事,直接复制代码打包成exe运行就好了。这样不管你发给别人也好,以后方便直接用也好,都很方便。 咱就不整什么鸡皮疙瘩掉一地的情话啥的了,有需要的自行百度。 我想了一下,要是一个个介绍,那不得写到天昏地暗去了,算了我直接放代码吧。 还有什么是比发个笔芯更不容易尴尬的呢,对吧。即使对方不认,我们也能从容退走。 1) 代码 2) 效果 有没有被笔芯骗到的,哈哈,其实这个才是效果

m0_67394002的博客 3万+

python提高照片分辨率怎么调_这段 Python 代码,可以让你脱单

优质文章,第一时间送达!作者:@明哥公众号:Python编程时光2020年,这个看起来如此浪漫的年份,你还是一个人吗?难不成我还能是一条狗?18年的时候,写过一篇介绍如何使用 Python 来表白的文章。虽然创意和使用效果都不错,但有一缺点,这是那个exe文件,女神需要打开电脑,才有可能参与进来,进而被你成功"调戏”。由于是很早期的文章了,应该有很多人没有看过。没有看过的,你可以点击这里查看:用P...

weixin_39753211的博客 1427

情人节python代码_情人节 ,能否表白成功就看这段Python代码

点击上方Python知识圈,选择设为星标回复1024获取Python资料作者:@明哥公众号:Python编程时光阅读文本大概需要 6分钟2020年,这个看起来如此浪漫的年份,你还是一个人吗?难不成我还能是一条狗?18年的时候,写过一篇介绍如何使用 Python 来表白的文章。没有看过的,你可以点击这里查看:你还身?Python 教你脱单提醒你一下,今天就是 2月14日了。什么?还是一条狗呢?行...

weixin_40007804的博客 1268

初学python者解析这段樱花树的代码

一.import语句 使用一个模块中的函数之前,必须用import语句导入该模块,使用import引用函数库有两种方式,第一种:import,使用库中函数的格式如下:.(函数参数)。 第二种:from import* //其中,*表示所有函数,使用格式如下:()

qq_51282191的博客 2561

python表白-教你如何用Python表白

哈哈哈哈,程序猿怎么可能有女朋友。额,开玩笑的,程序猿不仅有女朋友,而且温柔贤惠,聪明大方。那么在如此特殊的节日,我们就要用我们的技术去赢得女神的芳心。今天介绍如何用Python一行代码表白。屌丝普通版:print(' '.join([''.join([('Love'[(x-y) %len('Love')]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y...

weixin_37988176的博客 5692

怎么使用这段代码

这段代码看起来像是一个 Python 程序。为了使用这段代码,你需要有一个 Python 解释器,并且你需要将代码保存到一个文件中。然后,你可以在命令行中输入以下命令来运行代码python your_file.py 其中 your_file.py 是你保存代码的文件的名称。 如果你没有安装 Python 解释器,请先安装 Python,然后再尝试运行代码。 希望这个回答能帮到你! ...

weixin_42577243的博客 128

Python闭包陷阱:为何这段代码输出全是300?

这段代码的执行结果是 [300, 300, 300, 300]。原因是Python的延迟绑定闭包特性:列表推导式生成的四个lambda函数都引用同一个变量i,而i在循环结束后最终值为3。当调用这些函数时,它们都计算3 * 100。要解决这个问题,可以在lambda中使用默认参数lambda x, i=i: i * x,这样每个函数会捕获不同的i值,从而得到预期结果[0, 100, 200, 300]。

weixin_45729710的博客 844

下面这段Python代码执行后的输出结果是?

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤几行归塞尽,念尔独何之。大家好,我是皮皮。一、前言前几天在Python青铜交流群【桐霄'L】问了一个Python基础的问题,这里拿出来给大家分享下。二、实现过程这个题目其实比较基础的了,就是你不能在自己的终端运行,得在脑袋里边想着这个代码该怎么跑。一共两个点,第一个针对12进行%取余处...

pdcfighting的博客 1003

这段代码有什么用途?

2. **保留有用的部分**,比如`if __name__ == '__main__':`结构。- 展示了`if __name__ == '__main__':`的标准用法。# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。在实际开发中,你可以安全地删除这些模板代码,替换为你自己的功能实现。3. **添加自己的功能**,比如我们之前的猫狗识别程序。"""主函数 - 替换模板代码的实际示例"""# 在下面的代码行中使用断点来调试脚本。1. **删除模板代码**,替换为自己的业务逻辑。

xioayanran123的博客 419

为什么python代码运行不了_这段python代码为什么运行不了

importwxclassMyFrame(wx.Frame):def__init__(self):wx.Frame.__init__(self,None,-1,u"对话框的验证",size=(300,60))panel=wx.Panel(self,-1)sizer=wx.BoxSizer(wx.HORIZONTAL)self....import wxclass MyFrame(wx.Frame):...

weixin_39559015的博客 376

python中def报错_python 中def 的问题 新手不知道怎么该改这段代码

stack = []def pushit():stack.append(raw_input(' Enter new string: ').strip())def popit():if len (stack)==0:print 'Cannot pop from an empty stack!'else:print 'Removed [', `stack.pop()`,']'def viewstack...

weixin_39804641的博客 427

你能发现这段 Python 代码中的 bug 吗?

【CSDN 编者按】大家一起来找 Bug。原文链接:https://dwrodri.gitlab.io/can-you-spot-the-bug-in-this-python-code/本文已获作者授权,未经允许,禁止转载!作者 | Derek Rodriguez 译者| 弯月责编 | 夏萌出品 | CSDN(ID:CSDNnews)最近,在解析文本时,我遇到了一个十分有趣的问题。在...

CSDN资讯 344

这段代码哪里有错误

总结起来,当我们在编写代码时,经常会遇到错误。通过仔细检查和调试,我们可以找出错误的原因并进行修复。修复错误后,代码将能够顺利运行并产生期望的结果。在编程中,错误是常见的。无论是新手还是经验丰富的开发人员都会遇到错误,并且通过调试和修复这些错误来不断改进代码。是一个内置的Python函数,用于计算可迭代对象的和。因此,我们应该避免使用与内置函数相同的变量名。希望这篇文章能够帮助您理解和解决代码中的常见错误。现在,代码应该能够正确地计算并打印出两个数字的和。在修复后的代码中,我们将变量名由。

TrDelphi的博客 404

【有趣】这段java代码太古怪

首先呢,来一段java代码来开点胃。等等等等,耍我呢,这是java代码? \u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u0058\u004a\u004a\u0020\u007b \u0020\u0020\u0020\u0020\u0070\u0075\u0062\u006c\u0069...

weixin_33777877的博客 149

Cityengine规则:炫酷地形

Cityengine规则:炫酷地形

上一篇: 34 个被吹爆了的 Python 开源项目
下一篇: Github 热门,程序员想拿高薪建议都看看
codingpy
博客等级 码龄11年 1745粉丝 104原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值