最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python圖像處理之輕松實現(xiàn)在圖片上添加文字

 更新時間:2026年04月07日 08:14:28   作者:小莊-Python辦公  
在當今的數(shù)字化時代,我們經(jīng)常需要處理圖像,無論是為攝影作品添加專屬水印、批量生成會議證書、還是制作有趣的社交媒體表情包,在圖片上添加文字都是一項極其常用且實用的技能,下面我們就來看看如何使用Python實現(xiàn)這一功能吧

引言

在當今的數(shù)字化時代,我們經(jīng)常需要處理圖像。無論是為攝影作品添加專屬水印、批量生成會議證書、還是制作有趣的社交媒體表情包,**“在圖片上添加文字”**都是一項極其常用且實用的技能。

如果你是一名為零基礎的Python初學者,好消息是:利用Python來實現(xiàn)這一功能不僅非常簡單,而且效率極高。在本篇教程中,我們將系統(tǒng)地學習如何使用Python中最強大且易用的圖像處理庫——Pillow,一步步將文字完美地融合到圖片中。

前置準備

在開始編寫代碼之前,我們需要準備好以下開發(fā)環(huán)境和素材:

  • Python環(huán)境:確保你的電腦上已經(jīng)安裝了Python(建議版本在3.7及以上)。
  • 一張背景圖片:準備一張用于添加文字的圖片,例如命名為 background.jpg,并將其與你的Python腳本放在同一個文件夾中。
  • 一個字體文件(可選但強烈建議):如果你需要添加中文文字,必須準備一個支持中文的字體文件(通常是 .ttf.ttc 格式,例如黑體 simhei.ttf),否則中文字符會顯示為方塊或亂碼。

詳細步驟指南

我們將整個過程拆分為五個簡單的步驟,即使你是完全的編程新手,也能輕松跟上。

第一步:安裝必要的圖像處理庫

Python原生并不直接支持高級圖像操作,因此我們需要借助第三方庫。Pillow 是Python中最受歡迎的圖像處理庫。

打開你的命令行工具(Windows用戶打開CMD或PowerShell,Mac用戶打開終端),輸入以下命令并回車:

pip install Pillow

第二步:導入模塊并打開圖片

安裝完成后,我們開始編寫Python代碼。首先,我們需要從Pillow庫中導入三個核心模塊:

  • Image:用于打開、保存和操作圖片。
  • ImageDraw:提供在圖片上繪制圖形和文字的工具。
  • ImageFont:用于加載和設置字體及字號。
from PIL import Image, ImageDraw, ImageFont

# 1. 打開背景圖片
# 請確保 'background.jpg' 存在于當前目錄
img = Image.open('background.jpg')

第三步:設置字體與顏色

接下來,我們需要告訴Python我們想用什么字體、多大的字號以及什么顏色來書寫文字。

# 2. 設置字體和字號
# 注意:如果寫中文,請?zhí)鎿Q為電腦中實際存在的字體路徑,例如Windows下的 'C:/Windows/Fonts/simhei.ttf'
font_path = 'arial.ttf'  # 這里以Arial為例,若是中文請換成中文字體文件
font_size = 50
font = ImageFont.truetype(font_path, font_size)

# 3. 設置文字顏色 (R, G, B)
# (255, 255, 255) 代表純白色,(0, 0, 0) 代表純黑色
text_color = (255, 255, 255) 

第四步:在圖片上繪制文字

現(xiàn)在,我們創(chuàng)建一個“畫筆”對象,并使用它將文字寫在圖片的指定坐標上。

注意:在計算機圖像中,坐標系的原點 (0, 0) 位于圖片的左上角。向右X軸增加,向下Y軸增加。

# 4. 創(chuàng)建一個可用來繪圖的對象
draw = ImageDraw.Draw(img)

# 5. 定義文字內(nèi)容和插入的坐標位置
text_content = "Hello, Python!"
position = (100, 150)  # 距離左邊緣100像素,距離上邊緣150像素

# 6. 將文字繪制到圖片上
draw.text(position, text_content, font=font, fill=text_color)

第五步:保存與預覽最終圖片

最后一步,我們將修改后的圖片保存為一個新的文件,以免覆蓋原始圖片,并讓Python幫我們打開預覽。

# 7. 保存合成后的新圖片
img.save('output_image.jpg')

# 8. 預覽圖片(調用系統(tǒng)默認看圖軟件)
img.show()

完整代碼速覽

將以上步驟合并,你就得到了一個完整且可運行的Python腳本:

from PIL import Image, ImageDraw, ImageFont

def add_text_to_image():
    # 1. 打開圖片
    img = Image.open('background.jpg')
    
    # 2. 設置字體、字號和顏色 (請根據(jù)實際情況修改字體路徑)
    font = ImageFont.truetype('simhei.ttf', 50) # 使用黑體支持中文
    text_color = (255, 255, 0) # 黃色
    
    # 3. 創(chuàng)建畫筆并繪制文字
    draw = ImageDraw.Draw(img)
    draw.text((50, 50), "你好,Python圖像處理!", font=font, fill=text_color)
    
    # 4. 保存并顯示結果
    img.save('output_image.jpg')
    img.show()
    print("圖片處理完成,已保存為 output_image.jpg")

if __name__ == "__main__":
    add_text_to_image()

常見問題與避坑指南

對于初學者來說,在處理圖像時往往會遇到幾個經(jīng)典問題。以下是解決方案:

中文字符變成方塊或亂碼

  • 原因:Pillow默認的字體不支持中文字符。
  • 解決:必須使用 ImageFont.truetype() 加載一個支持中文的 .ttf 字體文件。Windows用戶通??梢栽?C:\Windows\Fonts\ 目錄下找到字體(如 simhei.ttf);Mac用戶可以在 /System/Library/Fonts/ 找到(如 PingFang.ttc)。

文字超出了圖片的邊界

  • 原因:設置的起始坐標 (x, y) 太靠右或靠下,或者字號過大。
  • 解決:嘗試減小坐標值,或者縮小 font_size。進階用戶可以使用 draw.textbbox() 方法來提前計算文字的寬度和高度,從而實現(xiàn)居中對齊。

找不到圖片文件 (FileNotFoundError)

  • 原因:Python腳本找不到你指定的 background.jpg。
  • 解決:確保圖片和你的 .py 代碼文件放在同一個文件夾中,或者在代碼中填寫圖片的絕對路徑(例如 D:/images/background.jpg)。

學習資源與總結

恭喜你!你已經(jīng)成功掌握了使用Python給圖片添加文字的基礎技能。這只是Python自動化圖像處理的冰山一角。掌握這個技能后,你可以嘗試編寫循環(huán),批量為1000張圖片打上不同的名字,實現(xiàn)真正的辦公自動化。

以上就是Python圖像處理之輕松實現(xiàn)在圖片上添加文字的詳細內(nèi)容,更多關于Python圖片添加文字的資料請關注腳本之家其它相關文章!

相關文章

  • 使用urllib庫的urlretrieve()方法下載網(wǎng)絡文件到本地的方法

    使用urllib庫的urlretrieve()方法下載網(wǎng)絡文件到本地的方法

    今天小編就為大家分享一篇使用urllib庫的urlretrieve()方法下載網(wǎng)絡文件到本地的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • pycharm自動生成文件注釋和函數(shù)注釋

    pycharm自動生成文件注釋和函數(shù)注釋

    這篇文章主要介紹了pycharm自動生成文件注釋和函數(shù)注釋的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Python中Pickle模塊和base64模塊的使用解析

    Python中Pickle模塊和base64模塊的使用解析

    這篇文章主要介紹了Python中Pickle模塊和base64模塊的使用解析,pickle模塊是python的標準模塊,提供了對于python數(shù)據(jù)的序列化操作,可以將數(shù)據(jù)轉換為bytes類型,其序列化速度比json模塊要高,需要的朋友可以參考下
    2023-09-09
  • python實現(xiàn)IOU計算案例

    python實現(xiàn)IOU計算案例

    這篇文章主要介紹了python實現(xiàn)IOU計算案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python實現(xiàn)獲取本機網(wǎng)卡的MAC地址,IP地址和路由表

    Python實現(xiàn)獲取本機網(wǎng)卡的MAC地址,IP地址和路由表

    本文主要為大家詳細介紹了如何在Windows和Mac系統(tǒng)下獲取本機MAC地址和IP地址的方法,以及如何使用ARP協(xié)議獲取局域網(wǎng)內(nèi)所有計算機的IP地址與MAC地址,感興趣的小伙伴可以了解下
    2026-05-05
  • django教程如何自學

    django教程如何自學

    在本篇內(nèi)容里小編給大家整理了關于django教程學習流程,想自學的朋友們可以閱讀下。
    2020-07-07
  • python中的字典及嵌套遍歷

    python中的字典及嵌套遍歷

    這篇文章主要介紹了python中的字典及嵌套遍歷,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • python?中?os.walk()?函數(shù)詳解

    python?中?os.walk()?函數(shù)詳解

    os.walk()是一種遍歷目錄數(shù)的函數(shù),它以一種深度優(yōu)先的策略(depth-first)訪問指定的目錄。這篇文章主要介紹了python?中?os.walk()?函數(shù),需要的朋友可以參考下
    2021-11-11
  • Python使用Tesseract?OCR實現(xiàn)識別圖片中的文字

    Python使用Tesseract?OCR實現(xiàn)識別圖片中的文字

    光學字符識別OCR是一項將圖像中的文字轉換為可編輯文本的技術,本文將詳細介紹如何使用Python結合Tesseract?OCR來實現(xiàn)圖片中文字的識別,感興趣的小伙伴可以了解下
    2025-11-11
  • Python字典和集合講解

    Python字典和集合講解

    這篇文章主要給大家假關節(jié)的是Python字典和集合,字典是Python內(nèi)置的數(shù)據(jù)結構之一,是一個無序的序列;而集合是python語言提供的內(nèi)置數(shù)據(jù)結構,沒有value的字典,集合類型與其他類型最大的區(qū)別在于,它不包含重復元素。想具體了解有關python字典與集合,請看下面文章內(nèi)容
    2021-10-10

最新評論

汽车| 藁城市| 峨眉山市| 东平县| 孟州市| 鄄城县| 治多县| 九台市| 安新县| 仪陇县| 湘潭市| 嘉义市| 蓬安县| 五原县| 万安县| 克什克腾旗| 新巴尔虎左旗| 曲靖市| 英山县| 呼伦贝尔市| 阿瓦提县| 海盐县| 丹寨县| 富平县| 临城县| 玉林市| 雅江县| 谢通门县| 靖安县| 江永县| 赣州市| 随州市| 铁岭市| 迁西县| 囊谦县| 邵东县| 水富县| 南江县| 临海市| 尼木县| 尤溪县|