Python 编程快速上手 第十七章 操作图像
前言
在這一章節,講了關于圖像的三個方面的內容:
[ImageColor 模塊 & Image 模塊]獲得圖像的相關信息
圖像知識基礎
談談 ImageColor 模塊
格式:from PIL import ImageColor
getcolor() 方法和 RGBA 元組:
格式:ImageColor('Black', 'RGBA')
功能:第一個參數為一個顏色名稱字符串,第二個參數為顏色的模式,返回一個 RGBA 值的元組。
談談 Image 模塊和 Box 元組
格式:from PIL import Image
Box 元組: 為一個圖像的尺寸值,通過 Image 模塊得到一個 Image 對象之后,利用這個對象的 size() 方法可以得到一個 Box 元組。
[Image 模塊]操作 & 編輯圖像
操作圖像的基礎:打開,保存,新建
打開圖像
格式:im = Image.open('nameOfImg.png')
功能:獲得一個 Image 對象
談談 Image 對象的一些方法
- im.filename:獲得圖像的名稱
- im.format:獲得圖像的格式
- im.format_description: 獲得描述更精準的圖像的格式
保存圖像:
格式:im.save('nameOfImag')
功能:保存當工作目錄目前的圖像
新建圖像:
格式:Image.new('RGBA', (100, 200), 'purple')
功能:第一個參數為顏色的模式,第二個參數為大小,第三個參數為背景的顏色,是可選值,默認為透明。
編輯圖像:裁剪,復制和黏貼,縮放
裁剪圖像:
格式:im.crop((335, 345, 565, 560))
功能:接收一個矩形元組(左,頂,右,底的順序)返回一個新的已經裁剪了的圖像。
復制圖像和黏貼圖像到其他圖像:
復制圖像:
格式: im.copy()?
功能:返回一個 Image 對象
黏貼圖像到其他圖像:
格式:im.paste(anoterIm, (400, 500))
功能:接受的第一個參數為一個 Image 對象,另一個參數為黏貼圖像的時候源 Image 對象的左上角在主 Image 對象的位置。
縮放圖像:
格式:im.resize((int(width/2), int(height/2)))
功能:接收一個 Box 元組, Box 元組的元素的值都為整數,然后返回一個縮放后的 Image 對象。
旋轉,翻轉圖像
旋轉圖像:
格式:im.rotate(90, expand = True)?
功能:接受一個角度作為參數,將這個圖像逆時針旋轉這個角度后,返回一個新的 Image 對象。第二個參數決定是否對尺寸進行放大,來適應旋轉后整個圖像的全部像素,是一個可選值。
翻轉圖像
格式:im.transpose(Image.FILP_RIGHT)
功能:接收 Image.FILP(RIGHT/BOTTOM), 進行翻轉圖像。
操作像素
獲得像素值
格式:im.getpixel()
功能:接受一個坐標元組,返回一個 三整數 RGB 元組或四整數 RGBA 元組。
更改像素值
格式:im.putpixel((x,y),(210, 210, 210))
功能:接受一個坐標元組和一個三整數 RGB 元組或四整數 RGBA 元組作為兩個參數,設置圖像這一點像素的顏色。
[ImageDraw 模塊 & ImageFont 模塊]在圖像上繪制形狀
導入模塊:?
from PIL import Image, ImageDraw, ImageFont
繪制形狀的步驟:
1. 獲得 ImageDraw 對象
格式: draw = ImageDraw.Draw()
功能: 使用 Draw() 方法得到一個 ImageDraw 對象。
2. 進行繪制
- 點:point(xy, fill): 其中 xy 為點的元組列表, fill 為 RGBA 元組或者顏色名稱的字符串
- 線: line(xy, fill, width): 其中 xy 除了點點元組列表,還可以用整數列表,width 默認值為1,是可選值。
- 矩形: rectangle(xy , fill, outline): xy 為矩形元組,outline 為 RGBA 元組,是一個可選值。
- 橢圓: ellipse(xy, fill, outline): 和矩形一樣
- 多邊形: polygon(xy ,fill, outline): xy 和 line 中的一樣。
繪制文本的步驟:
1. 獲得 ImageFont 對象
格式:arialFont = ImageFont.truetype(os.path.join('/Library/Fonts','arial.ttf'),32)
功能:從系統的字體目錄中獲取字體文件,返回一個 ImageFont 對象。
2. 進行繪制
格式:ImageDraw(xy, text, fill, font)
功能:接受四個參數。需要注意: xy,是一個包含兩個整數的元組,決定文字的左上角。text 為字符串格式。 font 為ImageFont 對象。
轉載于:https://www.cnblogs.com/FBsharl/p/10311144.html
總結
以上是生活随笔為你收集整理的Python 编程快速上手 第十七章 操作图像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android -自定义view
- 下一篇: springboot shiro和fre