python类似微信未读信息图片脚本

其实就是实现一个效果,给一张图片,然后再右上角给出未读的信息数目,就像我们打开微信的时候,总是看到红点就忍不住想要点击去查看一样。

类似这种效果:

可以知道,图片是给定的,那么只要随机生成一个数字,然后再在图片的右上角显示出来就好了,这里可以使用PIL,这样就比较方便的实现了,

代码:

from PIL import Image,ImageDraw, ImageFont

import random

origin_image = "./image/test.jpg"
new_image = "./image/new_test.jpg"
color = (255,0,0)

def  numRandom():
	return random.randint(0, 100)

def draw_text_for_image(text, origin_image,fill_color):
	try:
		image = Image.open(origin_image)
		size = image.size
		x = size[0] - 60
		font = ImageFont.truetype("arial.ttf", 36)
		draw = ImageDraw.Draw(image)
		draw.text((x, 15), text, font=font, fill=fill_color)
		image.save(new_image,‘jpeg‘);
	except :
		print "Unable to load image"

if __name__ == "__main__":
		text = str(numRandom())
		draw_text_for_image(text,origin_image,color)

先得到需要的图片和保存的图片路径,利用随机数产生一个随机数字,ImageDraw实现在图片是添加文字。

image.size获得图片的长宽,返回一个元祖。

这里说说最后一个__name__ == "__main__":

  当打开一个.py文件时,经常会在代码的最下面看到if __name__ == ‘__main__‘:

模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下,,__name__ 的值将是一个特别缺省"__main__"。

在cmd 中直接运行.py文件,则__name__的值是‘__main__‘;

而在import 一个.py文件后,__name__的值就不是‘__main__‘了;

从而用if __name__ == ‘__main__‘来判断是否是在直接运行该.py文件

如:

#Test.py

class Test:

def __init(self):pass

def f(self):print ‘Hello, World!‘

if __name__ == ‘__main__‘:

Test().f()

#End

你在cmd中输入:

C:>python Test.py

Hello, World!

说明:"__name__ == ‘__main__‘"是成立的

你再在cmd中输入:

C:>python

>>>import Test

>>>Test.__name__                #Test模块的__name__

‘Test‘

>>>__name__                       #当前程序的__name__

‘__main__‘

无论怎样,Test.py中的"__name__ == ‘__main__‘"都不会成立的!

所以,下一行代码永远不会运行到

时间: 2024-10-12 20:42:16

python类似微信未读信息图片脚本的相关文章

python学习笔记-抓取网页图片脚本

初学者一枚,代码都是模仿网上的.亲测可用~ 运行脚本的前提是本机安装了httplib2模块 #!/usr/bin/python import os import re import string import urllib #author:reed #date:2014-05-14 def GetWebPictures(): url=raw_input('please input the website you want to download:') imgcontent=urllib.urlo

初探Android N 那些让人感兴趣的东西--桌面提示未读信息

转载请注明出处:王亟亟的大牛之路 之前一旦时间觉得不知道看些什么学些什么还打游戏,有点颓废.然后想想总得继续学习,正好I/O大会刚结束,那就来看一些新东西 大篇幅安利:https://github.com/ddwhan0123/Useful-Open-Source-Android(我每天都在更啊!!) 平时总有一些小伙子们都在问,如何做到iOS的那些桌面图标显示未读,这次的官方Smaple给出了解决方式!!!看下图!!!! 乍看之下就是普通的Notification 然后点了查阅了这条Messa

仿微信未读RecyclerView平滑滚动定位效果

效果图有红点的地方表示有未读消息,依次双击首页图标定位,然后定位到某个未读在手动下滑一点距离在次点击定位效果 用过 RecyclerView 的人都知道,自带有几个滚动到item下标的方法,但是不靠谱,靠谱的又没有平滑效果,所以还是得自己写,主要是模仿了微信的一些定位逻辑 首先,要滚动到指定的坐标出,可以借用recyclerview自带的几个方法,但是无论哪个方法首先得需要指定position,所以第一件事情就是先把position找准确了 上面代码就是查询出可见条目开始最近的一条未读item的

使用python编写微信跳一跳的自动脚本

实现思路: 调用adb命令,截图 寻找小小人的底部中心点role(从下到上扫描,直到找到小小人相同像素的点,至于小小人像素点rgb是什么,可以使用photoshop查看) 寻找棋盘最高点top,然后寻找棋盘最右点.根据最高点与最右点,确定棋盘中心点border 计算role与border之间的直线距离,然后设置按压时间=距离*按压系数 调用adb 命令,按压屏幕 完整代码,测试机Oppo r11 #!/usr/bin/env python # -*- coding: utf-8 -*- from

iOS 如何设置tableview列表的cell上的的设置删除键 、置顶按钮、 未读信息按钮

思路很重要! 主要是写下我实现的具体思想,效果:首先,将cell向左滑动的时候,就会出现 删除  置顶 等按钮,那么我们就可以设计在cell上加两层的控件,第一层放的便是你要添加的 删除  置顶 等按钮  ,把这些按钮布置在cell的右侧  然后在第二层就是放一个uiview 这个uiview大小和cell的大小一样  然后再到uiview上添加一些显示数据的控件.  问题: 那第一层的 删除和置顶等按钮不是被覆盖了吗?  对 要的就是这种效果,现在的解决思路就是在uiview 上添加一个 pa

当你想用python往微信公众号发信息...

微信现在是人人必备的APP,所以它是一个比电子邮箱更加随身的告警手段,这篇文章就是讲解如何申请微信企业号,搭配python脚本来发送信息.让你能更加先进的实时监(装)控(逼). 首先,我们先登陆https://work.weixin.qq.com/ ,选择"企业注册",如图: 然后在下一个图片里面任意选择"企业"or"政府"or"组织",由于这个报警平台比较简陋,并不是很规范而且仅仅是内部人使用,那么就直接选择"没有

【Python学习笔记】-APP图标显示未读消息数目

以小米手机系统为例,当安装的某个APP有未读消息时,就会在该APP图标的右上角显示未读消息的数目.本文主要解说怎样用Python语言实现图标显示未读消息的数目.首先,还是要用到Python中PIL库,关于Linux下怎样安装PIL库,请大家參考这篇博客:http://blog.csdn.net/kevin_zhai/article/details/47720721,里面有具体的安装过程.实现的原理非常easy,直接用Image读取原始图标.然后将未读消息的数目插入到图标的右上角就可以. 脚本代码

iOS开发项目篇—39获取用户未读的微博信息(信息提醒)

iOS开发项目篇—39获取用户未读的微博信息(信息提醒) 一.简单说明 1.实现效果       2.实现 (1)新建一个类,封装请求 查看新浪官方要求的请求参数 该类中的代码设计 YYUnreadCountParam.h文件 1 // YYUnreadCountParam.h 2 //封装请求参数的类 3 4 #import "YYBaseParam.h" 5 6 @interface YYUnreadCountParam : YYBaseParam 7 /**uid true in

Android 类似未读短信图标显示数字效果的分析

之前一直以为是应用本身在对图标进行修改,看了源码之后发现其实主要的工作并不是应用自己完成的,主要的工作在是launcher里面完成的. 关于系统里面类似未读短信的具体处理流程如下, 原理 一个应用要实现这个效果,就要在自己有未读的消息的时候发送一个广播告诉系统我有未处理的事件了(例如:短信,电话和邮件等),同时将相关的信息进行保存,比如应用的名称(这里指的是ComponentName)和未处理事件的数量.系统将提升用户有待处理的事件交给Launcher去处理,launcher会接收到对应的广播,