import Image
from get_png import getpng def transparent(infile):
#open png,covert it into 'RGBA mode',resize it,get data then make a datalist
datalist=list(Image.open(infile,'r').convert('RGBA').resize((1000,1000),Image.BILINEAR).getdata())
#color(0,0,0,0) is transparent
newim=Image.new("RGBA",(1000,1000),(0,0,0,0))
for x in range(1000):
for y in range(1000):
#color(255,255,255,255) is 'white'
if datalist[1000*y+x]==(255,255,255,255):
newim.putpixel((x,y),(255,255,255,255))
else:
pass
newim.save("1000_1000.png")
return "1000_1000.png"

以上生成了透明文件

import Image
import ImageDraw
import ImageFont #增加水印.直接写入文件.
def watermask(qq_screencapture_file):
print(qq_screencapture_file)
#写入两行文件.
sign_text1 = u'版权声明:本文为博主原创,未经允许不得转载。'
sign_text2 = u'博主地址:http://www.www.www'
#字体必须大于等于19才可以输出汉字,过小可能该库渲染不起来,具体原因不清楚。
font = ImageFont.truetype('simhei.ttf',19)
img = Image.open(qq_screencapture_file)
#获得图片长和宽,将文字写到最底下.
width,height = img.size
#img = Image.new("RGBA",(300,200),(0,0,0))
draw = ImageDraw.Draw(img)
#draw.text( (0,50), u'你好,世界!', font=font)
# draw.text( (0,50), unicode(txt,'UTF-8'))
draw.text((20,height-50),sign_text1,fill='#ff0000', font=font)
draw.text((20,height-30),sign_text2,fill='#ff0000', font=font)
del draw
#正好qq图片是png的.
img.save(qq_screencapture_file, "PNG")
print("finish.")

以上写入了文字

python生成透时图片and 写文字的更多相关文章

  1. 使用Qpaint在图片上写文字

    开发过程中需要实现在图片上叠加文字,可以采用Qpaint在图片上写文字,然后将图片显示在上面.再将Qlabel加到Qwidget中.效果如下 //创建对象,加载图片 QPixmap pix; pix. ...

  2. 函数putText()在图片上写文字

    #include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace c ...

  3. thinkphp 利用GD库在图片上写文字

    <?php /** * Created by PhpStorm. * User: Administrator */ namespace Home\Event; use \Think\Image; ...

  4. php图片上面写文字,输出图片

    <?php /* param $image 图象资源 param size 字体大小 param angle 字体输出角度 param showX 输出位置x坐标 param showY 输出位 ...

  5. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)

    想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 ( ...

  6. Python生成流水线《无限拍卖》文字!

    话说,原文也是这样流水线生产的吧··· 代码 import random one_char_word=["烈","焰","冰"," ...

  7. C#图片上写文字

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...

  8. 使用freemarker生成word、html时图片显示问题

    使用freemarker生成word.html时图片显示问题 博客分类: Java 使用freemarker生成word时图片显示问题使用freemarker生成html时图片显示问题使用iText生 ...

  9. 利用python进行简单的图片处理

    python的 PIL模块是专门用来处理图片的模块,其功能可以说是非常强大了. 演示环境:win7 操作系统 安装python2.7以及指定的对应PIL模块 我这里有一个现成的PIL模块.本文的大部分 ...

随机推荐

  1. 【javascript进阶】异常

    前言 最近有些时间了,今天看了看博客的后台记录,好多都没有写博客呢,争取尽快把以前的补上,javascrit中的异常在前端大家用的好像不是很多,其实javascript的异常和大多数的后端语言差不大, ...

  2. Eclipse连接VirtualBox中的Android x86

    Android x86 Alt+F1打开命令行,命令netcfg查看当前ip,记住,然后Alt+F7回界面. Eclipse-Window-Preferences-Android-DDMS-Use A ...

  3. c#进制转换(转)

    //十进制转二进制Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));//十进制转八进制Console.Wri ...

  4. Android工作学习第5天之Activity的完全退出程序

    注:本文大部分为网上转载,本人只是根据工作的需要略做整合! android 完全退出应用程序 注意:1.单例模式的学习 2.Manifest.xml,注意项目清单文件中要加上 android退出应用程 ...

  5. JS 学习(四)对象

    对象 在JS中,对象是数据(变量),拥有属性和方法. JS中所有事物都是对象:字符串.数字.数组.日期等. 对象是拥有属性和方法的特殊数据类型. 属性是与对象相关的值. 方法是能够在对象上执行的动作. ...

  6. 二模14day1解题报告

    注:Index数☞由4,7组成的十进制数. T1.全排列(permutation) 求n个数的第k个排列中,有多少个Index位置上是Index数. 由于k的范围比较小,n的范围比较大(都是109), ...

  7. STL之容器适配器priority_queue

    priority_queue(优先队列)是一个拥有权值观念的queue,它允许加入新元素,删除旧元素,审视元素值等功能.由于这是一个queue,所以只允许在底端加入元素,并从顶端取出元素, 除此之外别 ...

  8. 浅尝辄止——在C++中调用C#的回调函数——COM方式

    这种方式比较简单,给大家分享一下,同时讲一下SafeArray内定义结构体的方法 1. 需求描述 需求是这样的,C++代码和C#代码相互通信(C++一般做服务,C#做客户端),C++一侧准备好数据,然 ...

  9. Linux 命令 创建文件

    1.vi vi 1.txt 会直接创建并打开一个文件1.txt 2.touch touch的作用是更改一个文件或目录的时间.touch 2.txt 如果2.txt不存在,则创建空文件2.txt 3.e ...

  10. How secure FB Messenger is?

    It's reported that FB Messenge is the most secure App for instant messaging service. Let's see if FB ...