python画图库,PIL使用大全

import cv2
import numpy
from PIL import Image, ImageDraw, ImageFont

#这个函数用于将多个图片显示在一个图片里面的
def func1():
    toimage = Image.new('RGBA', (2000, 2000))
    my_url = ['E:\我的项目\my_images\image_00001.jpg', 'E:\我的项目\my_images\image_00029.jpg', 'e.jpg']
    j = 0
    jj = 0
    for i in my_url:
        jj += 150
        j += 1
        image_data = Image.open(i)
        image_data = image_data.resize((300, 300), Image.ANTIALIAS)
        toimage.paste(image_data, (700, 500 + jj))
        ##创建一个字体实例,采用微软雅黑38号
        # font_en = ImageFont.truetype('/Library/Fonts/Microsoft/Microsoft Yahei.ttf',38)
        draw = ImageDraw.Draw(image_data)

        # 指定字体和颜色(RGB)
        draw.text((0, 100), 'He acknowledged his faults.', fill=(0, 0, 0))
#用PIL中的Image进行 画图,将多个图形放在一起.
def func():
    toimage = Image.new('RGBA', (2000, 2000))#一个大小为2000*2000的图形界面对象
    image_data = Image.open('e.jpg')
    # image_data=image_data.resize((990,990),Image.ANTIALIAS)
    print(image_data.size)
    toimage.paste(image_data, (500, 500))  # 这个是将数据放到里面,然后后面是移动的位置
    font = ImageFont.truetype('‪C:\Windows\Fonts\msyhl.ttc', 40)
    fillColor = (0, 0, 255)
    # 文字输出位置
    position = (50, 50)
    draw = ImageDraw.Draw(image_data)
    draw.text(position, '书写中文字体', font=font, fill=fillColor)
    toimage.show()


if __name__ == '__main__':

    img_OpenCV = cv2.imread('e.jpg')
    print(img_OpenCV.shape)
    # 图像从OpenCV格式转换成PIL格式
    img_PIL = Image.fromarray(cv2.cvtColor(img_OpenCV, cv2.COLOR_BGR2RGB))

    # 字体 字体*.ttc的存放路径一般是: /usr/share/fonts/opentype/noto/ 查找指令locate *.ttc
    font = ImageFont.truetype('‪C:\Windows\Fonts\msyhl.ttc', 40)
    # 字体颜色
    fillColor = (0, 0, 255)
    # 文字输出位置
    position = (100, 200)
    # 输出内容
    str = '在图出中文'

    # 需要先把输出的中文字符转换成Unicode编码形式
    # if not isinstance(str, unicode):
    #     str = str.decode('utf8')

    draw = ImageDraw.Draw(img_PIL)
    draw.text(position, str, font=font, fill=fillColor)
    # 使用PIL中的save方法保存图片到本地
    # img_PIL.save('02.jpg', 'jpeg')

    # 转换回OpenCV格式
    img_OpenCV = cv2.cvtColor(numpy.asarray(img_PIL), cv2.COLOR_RGB2BGR)
    cv2.imshow("print chinese to image", img_OpenCV)
    cv2.waitKey()
    cv2.imwrite('03.jpg', img_OpenCV)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值