python 對(duì)圖片進(jìn)行簡(jiǎn)單的處理
pip install Pillow圖片劃線(xiàn)
from PIL import Image, ImageDrawim = Image.open('blur.jpg')draw = ImageDraw.Draw(im)draw.line((0, 0) + im.size, fill=128)draw.line((0, im.size[1], im.size[0], 0), fill=128)del draw# write to stdoutim.save('blur.jpg', 'PNG')圖片寫(xiě)字
有的時(shí)候我們可能需要往圖片上寫(xiě)一些文字,比如說(shuō)水印什么的,只要選擇好我們本地的字體文件,直接就可以在圖片上寫(xiě)字了
from PIL import ImageFont, ImageDraw,Image, ImageDrawimage = Image.open('image.png').convert(’RGBA’)txt=Image.new(’RGBA’, image.size, (0,0,0,0))font=ImageFont.truetype('c:/Windows/fonts/Tahoma.ttf', 20)draw=ImageDraw.Draw(txt)draw.text((txt.size[0]-100, txt.size[1]-30), 'linshiyingdi', font=font)out=Image.alpha_composite(image, txt)out.save('imageWithText.png', 'png')out.show()圖片加圖片水印
文字水印有時(shí)候不好看,想改成圖片水印,也是可以的
from PIL import ImageFont, ImageDraw, Image, ImageDrawimage = Image.open('image.png')logo = Image.open('logo.png')layer = Image.new(’RGBA’, image.size, (0, 0, 0, 0))layer.paste(logo, (50, 60))out = Image.composite(layer, image, layer)out.save('imageWithLogo.png', 'png')out.show()
如果水印圖片過(guò)大時(shí),可以直接縮小點(diǎn),直接使用圖片自帶的thumbnail方法就行
from PIL import ImageFont, ImageDraw, Image, ImageDrawimage = Image.open('image.png')logo = Image.open('logo.png')logo.thumbnail((200, 100))layer = Image.new(’RGBA’, image.size, (0, 0, 0, 0))layer.paste(logo, (50, 60))out = Image.composite(layer, image, layer)out.save('imageWithLogo.png', 'png')out.show()
如下圖,我們的水印圖片放到了左上角,大小也非常合適。

from PIL import Image, ImageFilter# 打開(kāi)一個(gè)jpg圖像文件,直接放到當(dāng)前路徑下方便點(diǎn):im = Image.open(’2822.jpg’)# 應(yīng)用模糊濾鏡:im2 = im.filter(ImageFilter.BLUR)im2.save(’blur.jpg’, ’jpeg’)圖片截取
from PIL import Imageimg = Image.open('image.png')print(img.size)cropped = img.crop((0, 0, 1303, 734)) # (left, upper, right, lower)cropped.save('imageCropped.png')
可以看到的是如果這個(gè)圖片的長(zhǎng)度和寬度比1303和734小的時(shí)候會(huì)有透明的填充,感覺(jué)很難看,可以將對(duì)應(yīng)的長(zhǎng)度和寬度和這兩個(gè)數(shù)字做個(gè)判斷
from PIL import Imageimg = Image.open('image.png')print(img.size)right = 1303lower = 734if img.size[0] < 1303: right = img.size[0]if img.size[1] < 734: lower = img.size[1]cropped = img.crop((0, 0, right, lower)) # (left, upper, right, lower)cropped.save('imageCropped.png')
這樣白邊就被干掉了
總結(jié)人生苦短,我用 Python,在強(qiáng)大的Pillow幫助下,我們只需幾行代碼就可以實(shí)現(xiàn)圖片的各種處理。
以上就是python 對(duì)圖片進(jìn)行簡(jiǎn)單的處理的詳細(xì)內(nèi)容,更多關(guān)于python 圖片處理的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享2. vue項(xiàng)目登錄成功拿到令牌跳轉(zhuǎn)失敗401無(wú)登錄信息的解決3. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)4. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能5. 淺談?dòng)蓀osition屬性引申的css進(jìn)階討論6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)財(cái)務(wù)記賬管理系統(tǒng)8. CSS可以做的幾個(gè)令你嘆為觀(guān)止的實(shí)例分享9. vue前端RSA加密java后端解密的方法實(shí)現(xiàn)10. asp批量添加修改刪除操作示例代碼

網(wǎng)公網(wǎng)安備