Python实验五-图像操作

图像操作

#!/usr/bin/python3
# -*- coding:UTF-8 -*-
#
# import subprocess;
# import time;
# 【执行指定的程序】
# cal = subprocess.Popen('c:\\Windows\\System32\\calc.exe');
# #可以传递列表参数:['C:\\Windows\\notepad.exe', 'C:\\hello.txt'];同时打开两个程序
# cal.poll();
# cal.wait();#等待,并终止程序
# cal.poll();#等待,并终止程序【配合使用】

from PIL import ImageColor;
from PIL import Image;

rbg_1 = ImageColor.getcolor('red', 'RGBA');
# print(rbg_1);
# 【操作图像】
catIm = Image.open('E:\\test_1.png');
print(catIm.size);  # 输出图像的尺寸
width, height = catIm.size;  # 给宽和高进行赋值
print(width);
print(catIm.filename);  # 输出图像名称:test.png
print(catIm.format);  # 输出原始图像后缀名:PNG(重命名的,无用)
print(catIm.format_description);  # 输出图像原始属性
catIm.save('E:\\test_dir\\2.png');  # 重新命名

# 【创建一个新的图像】
im = Image.new('RGBA', (100, 200), 'purple');
im.save('E:\\test_dir\\3.png');

# 【裁剪图像】
new_crop = catIm.crop((50, 50, 150, 150));
new_crop.save('E:\\test_dir\\new_cop.png');  # 生成一个100px X 100px的新文件

# 【复制和粘贴图像到其他图像】
newIt = Image.open('E:\\test_1.png');  # 父本图像
newCat = newIt.copy();
newCat.paste(new_crop, (0, 0));  # 父本图像中传入子本图像对象
newCat.save('E:\\test_dir\\new_cop_copy.png')

# 【调整图像尺寸】
quar = catIm.resize((100, 3000));  # 调整:宽,高
quar.save('E:\\test_dir\\new_cop_copy_quar.png');

# 【旋转图像】
catIm.rotate(90).save('E:\\test_dir\\new_cop_copy_quar_route.png');  # 旋转90度
# 如果设置expand=True,就会放大图像的尺寸,以适应整个旋转后的新图像;
catIm.rotate(90, expand=True).save('E:\\test_dir\\new_cop_copy_quar_route——90.png');  # 旋转90度

# 【镜像旋转】
# 水平图像镜像翻转
catIm.transpose(Image.FLIP_LEFT_RIGHT).save('E:\\test_dir\\new_cop_copy_quar_route_Right.png');
# 垂直镜像翻转
catIm.transpose(Image.FLIP_TOP_BOTTOM).save('E:\\test_dir\\new_cop_copy_quar_route_Veri.png');

# 【创建图像上下分层的技巧:即更改单个元素】
im = Image.new('RGBA', (100, 100))
im.getpixel((0, 0))
# 处理上半层的值
for x in range(100):
    for y in range(50):
        im.putpixel((x, y), (210, 210, 210))
# 处理下半层的值
for x in range(100):
    for y in range(50, 100):
        # ImageColor.getcolor('darkgray', 'RGBA') 获取颜色值(255,0,255)
        im.putpixel((x, y), ImageColor.getcolor('darkgray', 'RGBA'));

# im.getpixel((0, 0)) 生成某个点的坐标值的坐标颜色值
# im.getpixel((0, 50))

im.save('putPixel.png')

发布了46 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/tangqing24680/article/details/102959016
今日推荐