范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

吊炸天!十行代码我把情书藏进了小姐姐的微信头像里

  作者:豆豆
  来源:Python 技术
  我们都知道当把图片无限放大时,就会看到一个个的小方格,而这每一个小方格就是组成图片的最小单位,我们称之为像素,换言之,对于单独的一个像素来说,它只有一个固定的色值,是不可再分的。
  大胆一点,如果我们在这每一个像素块中填充上不同的字以组成你想说的话,然后再发给你心中的那个她,会不会有意外的惊喜呢。
  先从原理上来讲讲此方案为啥可行,抛开整张图片不谈,先单独看下这一个像素块。
  一个像素点其大小是 1 x 1 像素,但要想把一个这么大的字装进这么小的像色块里面,即使能装进去,放大之后也是很难看清楚的,更别说后面的惊喜了。
  因此,我们需要将像素块放大,放大到足够看清字体为止,经过派森酱多次测试发现 15 倍足矣,再小的话字体就非常模糊了。
  同时因为每个像素块都是有自己的色值的,所以当我们把像素放大到 15 x 15 时,要填充上对应颜色的文字才行。
  处理好这一个像素点,再对其余所有像素点都采取同样的操作即可,这样最后得到的图片会是原来的 15 倍大,但从宏观来看图片的色值并不会有任何改变。  模块安装
  由于要对图片进行操作,我们用到的库是 Pillow,可直接通过 pip 进行安装。  pip install Pillow 初步使用
  为了故事的顺利发展,需要先熟悉几个 Pillow 的常规操作。
  1、新建图片并保存  from PIL import Image  img = Image.new("RGB", (512, 512), (0, 100, 200)) # 创建一张新的图片 Image.new(mode, size, color=0)  img.save("img.png")
  效果如下所示:
  2、重新绘制图片
  我们可以在上面刚生成的图片中绘制一些线条,此处是勾画出两条对角线。  from PIL import Image  img = Image.open("img.png") # 打开图片 draw = ImageDraw.Draw(img)  # 取得绘图对象,用于绘制对角线 draw.line((0, 0, img.size[0], img.size[1]), fill=128, width=2) draw.line((0, img.size[1], img.size[0], 0), fill=128, width=2) img.save("img-line.png")
  效果如下所示:
  3、图片合并
  我们还可以将一张图片合并到另一张图片之上,看起来就像是粘上去的一样。  from PIL import Image  img = Image.open("img.png") # 打开图片 img_small = Image.new("RGB", (32, 32), "red") # 创建图片 img.paste(img_small, (20, 20)) # 将 img_small 粘贴到 img 的 (20,20) 位置处 img.save("img-paste.png")
  效果如下所示:
  放大招
  有了以上的基础,接下来就直接上手开干了。
  首先我们找了一张月亮的图片,然后准备把「今晚的月色真美」填充到图片中。当然此处对内容做了简化,你完全可以将任何自己想告诉对方的话写进去。
  首先定义好要用到的基本变量,像素放大尺寸 img_child_size、内容、字体设置、图片路径等。  from PIL import Image, ImageDraw, ImageFont  img_child_size = 15 text = "今晚的月色真美" font = ImageFont.truetype("AliPuHui-Bold.ttf", img_child_size)  img_path = "./moon.png"
  其次创建一个大小为 img_child_size 的小图 img_child 用于填充字体,一个原始图片扩大 img_child_size 倍的新图 img_ans 用于装载前面填充好字体的小图。  img = Image.open(img_path) img_w, img_h = img.size img_child = Image.new("RGB", (img_child_size, img_child_size)) img_ans = Image.new("RGB", (img_child_size * img_w, img_child_size * img_h))
  最后,就是循环遍历原图的每一个像素点,针对每个像素点(x,y)都要用绘制好文字的小图 img_child 粘贴到新图 img_ans 的对应位置上去。当然其中为了让字体居中还做了一些处理。      text_w, text_h = font.getsize("中") # 获取单个文字的宽、高     offset_x = (img_child_size - text_w) >> 1  # 文字水平居中     offset_y = (img_child_size - text_h) >> 1  # 文字垂直居中      char_index = 0     draw = ImageDraw.Draw(img_child)  # 小图的绘图对象,用于绘制文字      for x in range(img_w): # 宽在外 高在内,因此文字的方向是从左到右,从上到下排列的         for y in range(img_h):             draw.rectangle((0, 0, img_child_size, img_child_size), fill="lightgray") # 绘制背景,看起来会好一些             draw.text((offset_x, offset_y), text[char_index], font=font, fill=img.getpixel((x, y))) # 用(x,y)处像素点的色值绘制字体             img_ans.paste(img_child, (x * img_child_size, y * img_child_size))              char_index = (char_index + 1) % len(text)       img_ans.save("moon-text.png")
  来看看最终结果。
  看不是很清楚对不对,咱放大看。
  有点意思了对不对,继续放大。
  哈哈哈,惊不惊喜,意不意外。  总结
  今天派森酱带大家一起搞了个好玩的,用文字来填充图片,只要理解了图片、像素、文字之间的关系代码就很容易写出来了。

华为机型越来越少人选择的原因找到了,不解决永远别想做国内第一每年到这个时候买手机的人就多了起来,因为在年底的时间手机厂商都喜欢在这个时候发布自己的年度压轴产品,但产品一多也导致现在的消费者眼花缭乱,但大多数都会从OPPOvivo小米苹果这几打破困境!下一代iPhone有望新增屏下指纹识别从iPhoneX开始,苹果便引入FaceID,当时没有选择屏下指纹技术,更多的还是考虑到技术不够成熟。但在疫情期间,不少用户因在公共场合不便摘取口罩进行面部识别而倍感困扰,相信苹果华为P50宝盒精致小巧的折叠屏设计,开合之间满满仪式感近日,华为新品发布会上华为P50Pocket(华为P50宝盒)凭借着强大的实力,成为了当下年轻消费者选购手机的新宠。绚丽夺目的外观和定制化桌面,为消费者带来全新的使用体验,下面我们生活需要仪式感,手游用7。1声道头戴式耳机,这酸爽相信7080都经历过,以前用电脑打游戏专门配个独立声卡2。0或者2。1声道桌面音箱。现在我们打游戏的渠道多了,选择也多了,不过音箱和外放已经不是打游戏的第一选择。无论是轻度玩家还是苹果突然发布虎年新机!但只在日本卖?2022年的春节,来的比以往更早一些。不少人家已经开始准备年货了,这不苹果也没闲着。12月28日上午,苹果旗下旗下耳机品牌Beats,宣布将于2022年1月1日上线虎年特别版Bea手机拍摄还能这么玩?智云SMOOTH5上这几个功能体验太可了在手机相机刚刚面世的那段时间,拍出来的照片都是自带马赛克特效,在某些光线不足的场景下,更是看不清拍出来的内容,不过经过这二十来年的不断发展进步,手机的成像效果已经有了非常巨大的进步小米MIUI13有多快,多稳?抢先体验给你答案我发现无论是iPhone用户还是华为小米等安卓用户,手机卡顿后的第一反应是处理器落后或者内存满了。怎么说呢,处理器落后确实会造成手机卡顿,但是现在处理器性能普遍过剩,即便是很多年前小米12系列初体验只说优缺点优点112。12x难得的小屏幕旗舰小屏手机党的福音。2终于全系列给了智能高刷新率这会给系统拉跨的固有印象带来一定改善。312全系机型清晰度都很高屏幕素质绝对靠谱。缺点112pro没苹果明年起可能取消实体SIM卡,仅使用eSIM虚拟卡环球时报记者赵觉珵在先后取消耳机插孔并引入磁吸充电的MagSafe配件后,苹果公司的iPhone可能要向无插口手机更进一步。据苹果爆料网站MacRumors报道,苹果可能将在明年推中国自力更生制造芯片,西方不安了亚太日报Shannon为了帮助中国成为一个自力更生的科技超级强国,北京正在推动世界上最大的电子商务公司承担起设计自己的处理器芯片这一棘手而又昂贵的业务。阿里巴巴成立三年的芯片部门T2021年最后一次大更新,iOS15。2深度使用报告来了,网友评价如何距离元旦的日子已经屈指可数,2021年的列车即将进站,不管这一年经历了什么,开心或者欢乐,都希望大家在2022有一个新的开始。年底有太多的最后一次,但是作为数码博主,今天我们要聊的
华帝分人浴热水器ZH8i四大沐浴场景定制健康生活如今,热水器已经是每家每户的标配了,并且随着家庭人口越来越庞大,用户的各种需求也在进一步升级。对厂商来说,也必须在热水器产品领域以创新理念满足消费需求,以核心技术引领市场,走健康化七夕新潮礼物攻略请接好!从防抖神器到颜值神机,这些产品很加分七夕即将来临,要送什么礼物给对方从而创造一波美好的回忆呢?其实和爱人共度七夕是无比浪漫的事情,但挑选一份惊喜又满载爱意的礼物却总是令人烦恼!其实对于现在的年轻人来说,送礼物给女生不MIUI12。5增强版来了!12款机型首批推送,主打流畅和稳定昨天,小米正式举行了年度发布会,小米MIX4和小米平板5等硬件产品如期而至。对于新产品大家的期待值虽然很高,但大部分用户并不会选择购买。对于老用户来讲,系统的体验才是最为关心的。雷华硕OLED笔记本一键开启快乐宅家模式从2021年伊始,整个笔电圈的画风便开始形成一种硬件升级的走势,除了体现性能方面的处理器散热系统之外,最值得关注的一个方面便是,OLED屏幕。从今年各大笔记本厂商的发力点来解读,简pod详解pod配置我们来主要看一下pod。spec。containers的属性,这也是pod配置最重要的一环qqk8snode1kubectlexplainpod。spec。containersKI联想小米再打价格战!两款骁龙8Gen1旗舰大跳水太香了这段时间各大厂商频发新机,网友们也在纷纷讨论这些新机中哪款最香,但其实小智建议大家可以适当的关注一下较早发布的老机型。这里说得老并不是说它们真的发布时间已经很长了,只是在当下快节奏5。ElasticSearch数据写入与删除1。数据写入路由机制shardhash(routing)numberofprimaryshards一个索引有多个分片组成,多个分片数据组成了所有数据。当数据写入时,路由选择写入到那贵州乘东数西算东风深耕数据蓝海近年来,贵州省抢抓历史机遇,深耕数据蓝海,在政策环境数据存算数据交易等方面,先行先试,探索创新,通过政策完善平台建设基地建设等,不断夯实开展大数据东西部协作的软硬件基础,相关优势逐厉害了!浣洗C2F线上洗衣模式为何在服务市场突出重围?大众网海报新闻记者吕娜日照报道洗染行业发展报告数据显示,近两年,小规模洗衣店数量有所下降,而相当规模的中央洗涤工厂保持相对稳定。而在生活衣物洗染服务营业额同比下降的行业环境下,线上科技资讯用机器学习揭示全球中大地震破裂模式天籁实验阵列首次探测到快速射电暴事件日前,科学发表的一项大规模研究分析了12000多名患者癌细胞基因组中隐藏的数亿个突变,筛选确定了几十个新的DNA突变特征,这些特征可能为癌症的遗传和环境原因提供线索。在某些情况下,厨房装凉霸有用吗?厨房装凉霸是非常有用的!凉霸在厨房的作用是非常大,尤其到了夏天效果更明显,现在我都推荐客户在厨房装凉霸,即使暂时不安装凉霸也会预留出凉霸的线路出来,这样以后可以随时安装。为什么说我