python-图像

1、打开图像文件

from PIL import Image

catIm=Image.open('zophie.png')

2、裁剪图片 crop()函数

croppedIm=catIm.crop((335,345,565,560))

croppedIm.save('cropped.png')

3、复制粘贴图像

catIm=Image.open('zophie.png')

catCopyIm=catIm.copy()

faceIm=catIm.crop((335,345,565,560))

catCopyIm.paste(faceIm,(0,0))

catCopyIm.paste(faceIm,(400,500))

catCopyIm.save('pasted.png')

4、调整图像大小 resize()函数

width,height=catIm.size

quartersizedIm=catIm.resize((int(width/2),int(height/2)))

quartersizedIm.save('quartersized.png')

svelteIm=catIm.resize((width,height+300))

svelteIm.save('svelte.png')

5、旋转和翻转图像          rotate()函数

catIm.rotate(90).save('rotated90.png')

catIm.rotate(180).save('rotated180.png')

expand参数:是否放大尺寸

catIm.rotate(6,expand=True).save('rotated6_expanded.png')

镜像倒转        transpose()函数

catIm.transpose(Image.FLIP_LEFT_RIGHT).save('horizontal_flip.png')        #水平翻转

catIm.transpose(Image.FLIP_TOP_BOTTOM).save('horizontal_flip.png')        #垂直翻转

6、更改单个像素

getpixel():得到单个像素颜色

putpixel():单个像素添加颜色

代码如下:

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))

from PIL import ImageColor

for x in range(100):

        for y in range(50,100):

                im.putpixel((x,y),ImageColor.getcolor('darkgray','RGBA'))

im.getpixel((0,0))

im.getpixel((0,50))

7、图像上画形状        ImageDraw.Draw(im)

点:point(xy,fill)        xy是元组,fill是点的颜色

线:line(xy,fill,width)        xy是元组,fill是线的颜色,width是线的宽度

矩形:rectangle(xy,fill,outline)        xy是元组(left,top,right,bottom,其中left、top是左上角的x坐  标、y坐标;right、bottom是右下角的x坐标、y坐标),fill是填充的颜色,outline是矩形轮廓的颜色

椭圆:ellipse(xy,fill,outline)        xy是元组(left,top,right,bottom),fill是填充的颜色,outline是轮廓的颜色

多边形:polygon(xy,fill,outline)        xy是元组,fill是填充的颜色,outline是轮廓的颜色

代码如下:

from PIL from Image,ImageDraw

im=Image.new('RGBA',(200,200),'white')

draw=ImageDraw.Draw(im)

draw.line([(0,0),(199,0),(199,199),(0,199),(0,0)],fill='black')

draw.rectangle((20,30,60,60),fill='blue')

draw.ellipse((120,30,160,60),fill='red')

draw.polygon(((57,87),(79,62),(94,85),(120,90),(103,113)),fill=brown')

im.save('drawing.png')

8、绘制文本        text()

代码如下:

from PIL import Image,ImageDraw,ImageFront

import os

im=Image.new('RGBA',(200,200),'white')

draw=ImageDraw.Draw(im)

draw.text((20,150),'hello',fill='purple')

fontsFolder='FONT_FOLDER'

arialFont=ImageFont.truetype(os.path.join(fontsFolder,'arial.ttf'),32)

draw.text((100,150),'Howdy',fill='gray',font=arialFont)

im.save('text.png')

### 如何在 Visual Studio 中生成 `.pro` 文件 当安装 `Qt Visual Studio Tools` 后仍然无法看到 `Create Basic .pro File...` 选项时,可以按照以下方式解决问题并成功生成 `.pro` 文件。 #### 解决方案一:重新配置 Qt 插件设置 确保已正确安装 `Qt Visual Studio Tools` 并完成必要的配置。如果插件未正常工作,则可能需要手动调整其设置[^1]: 1. 打开 **工具 (Tools)** 菜单中的 **Options**。 2. 导航至 **Qt VS Tools -> Qt Versions** 部分。 3. 添加本地计算机上已经安装Qt 版本路径(例如 `C:\Qt\5.14.2\msvc2019_64`),并验证版本号是否匹配。 4. 如果上述操作仍未生效,尝试卸载当前版本的 `Qt Visual Studio Tools` 并重新安装最新稳定版。 #### 解决方案二:安装 Legacy 工具集 某些情况下,默认版本的 `Qt Visual Studio Tools` 不支持特定功能或存在兼容性问题。此时可考虑安装旧版(Legacy)工具集来恢复缺失的功能[^2]: - 下载地址通常可以通过官方文档或者社区资源获取。 - 安装完成后重启 Visual Studio 即会自动加载新增加的支持项,包括创建基本 `.pro` 文件的能力。 #### 自动化脚本辅助生成 对于高级开发者而言,也可以通过编写简单的批处理脚本来实现自动化`.pro`文件生成过程。下面是一个基础示例代码片段用于演示目的: ```batch @echo off set ProjectName=MyQtApp if exist %ProjectName%.pro del %ProjectName%.pro echo SOURCES += main.cpp >> %ProjectName%.pro echo HEADERS += myheader.h >> %ProjectName%.pro echo FORMS += form.ui >> %ProjectName%.pro pause ``` 此脚本将根据预定义的内容自动生成名为 MyQtApp 的项目对应的 pro 文件结构。 --- ### 注意事项 虽然以上方法适用于大多数场景下解决缺少 Create Basic .pro File 功能的问题,但在特殊环境下仍需注意其他潜在影响因素,比如操作系统差异、不同版本间的细微改动等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值