zoukankan      html  css  js  c++  java
  • 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__'"都不会成立的!

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

  • 相关阅读:
    你应该知道的那些Android小经验
    ArrayList和LinkedList的区别
    Android 监听apk安装替换卸载广播
    关于 Android 进程保活,你所需要知道的一切
    Java Thread 总结
    Android分包原理
    Flask web开发 处理POST请求(登录案例)
    Flask web开发 简单介绍
    编写存储过程导出oracle表数据到多个文本文件
    Linux 特殊符号使用: 倒引号`的使用
  • 原文地址:https://www.cnblogs.com/silence-hust/p/4266143.html
Copyright © 2011-2022 走看看