1. 程式人生 > 程式設計 >Python實現圖片新增文字

Python實現圖片新增文字

在工作中有時候會給圖上新增文字,常用的是PS工具,不過我想通過程式碼的方式來給圖片新增文字。

需要使用的Python的影象庫:PIL.更加詳細的知識點如下:

Imaga模組:用來建立,開啟,儲存圖片檔案

  • new(path):用來建立一個新的圖片檔案.該檔案位於path所在的路徑中。。開啟後返回Image型別的圖片。
  • open(path):用來開啟已經存在的圖片檔案.該檔案位於path所在的路徑中。開啟後返回Image型別的圖片。
  • save(path):用來把建立或者開啟的圖片保到path所在的路徑中。

ImageDraw模組:用來在圖片上繪製點,線,圖形和文字。

  • Draw(Image):用來返回一個ImageDraw型別的圖片,它的引數為Image型別的圖片。
  • text((x,y),str,…):用來在圖片上新增文字,文字位置x,y所在座標處,文字內容為str,其它引數可以控制文字字型和顏色。

下面是完整的程式碼,請參考:

from PIL import Image,ImageDraw

def addText(img,string):
  size = img.size
  width = size[0] - 20
  high = size[1] - 20
  lenth = len(string)*3
  draw = ImageDraw.Draw(img)
  draw.text((width-lenth,high),string,fill='black')
  oriImg.show()
  oriImg.save(path)


path = input("Please input the image file with path")

try:
  print("path: "+path)
  oriImg = Image.open(path)
  addText(oriImg,"good")
except IOError:
  print("can't' open the file,check the path again")
  newImg = Image.new('RGBA',(320,240),'white')
  newImg.save(path)

關於程式碼做以下說明:

在程式碼中,會建立一個320*240和圖片,背景為白色,裡面什麼也沒有。
把文字和圖片邊的寬度設定成了20,這個可以自己定義。另外,字元佔用的長度乘以3是個經驗值,也可以修改。
在圖片中新增的文字為'good',這個可以自己定義。

下面是程式的執行結果:

PS:第一次執行時,如果沒有圖片,會有以下提示,同時會建立一個新的圖片。

Please input the image file with pathH:\download\test.png(this is content of input )
path: H:\download\test.png
can't' open the file,check the path again

以後再次執行時,就使用系統預設的圖片瀏覽器開啟一個320*240和圖片,圖片右下角有黑色的文字:'good‘

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。