zoukankan      html  css  js  c++  java
  • 【Python学习笔记】-APP图标显示未读消息数目

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

    脚本代码例如以下:

    #coding=utf-8
    import random
    import string
    import sys
    import math
    from PIL import Image,ImageDraw,ImageFont,ImageFilter
    
    #字体的位置,不同版本号的系统会有不同
    font_path = "/usr/share/X11/fonts/Type1/c0611bt_.pfb"
    
    def gene_message_num(pic_path,message_num,fontcolor):
        '''
        @pic_path:原始头像图片的位置
        @message_num:未读消息的数目
        @fontcolor:显示消息数目的字体颜色
        '''
        image = Image.open(pic_path)
        size = image.size
        width,height = size #原始图片的宽和高
        font = ImageFont.truetype(font_path,30) #字体
        draw = ImageDraw.Draw(image)  #创建画笔
        text = str(message_num)
        font_width, font_height = font.getsize(text)
        draw.text((width - font_width, 0),text,
                font=font,fill=fontcolor) #填充数字,位置在右上角
        image.save('1.jpg') #保存图片
    
    if __name__ == "__main__":
        pic_path = "qq.jpg"
        message_num = 4
        fontcolor = (255,0,0)
        gene_message_num(pic_path,message_num,fontcolor)
    

    结果展示:原始图标和脚本运行和的图标见下图,因为仅仅是简单实现,结果并非非常美观。


                      


  • 相关阅读:
    hdoj--1162--Eddy's picture(最小生成树)
    hdoj--1087--Super Jumping! Jumping! Jumping!(贪心)
    hdoj--1051--Wooden Sticks(LIS)
    hdoj--5532--Almost Sorted Array(正反LIS)
    CodeForces--609C --Load Balancing(水题)
    poj--2631--Roads in the North(树的直径 裸模板)
    CodeForces--606A --Magic Spheres(模拟水题)
    CodeForcess--609B--The Best Gift(模拟水题)
    hdoj--1201--18岁生日(模拟)
    poj--1985--Cow Marathon(树的直径)
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6985949.html
Copyright © 2011-2022 走看看