欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中用PIL庫批量給圖片加上序號的教程

 更新時間:2015年05月06日 10:24:43   投稿:goldensun  
這篇文章主要介紹了Python中用PIL庫批量給圖片加上序號的教程,PIL庫是Python中一個非常強大的處理圖片的庫,需要的朋友可以參考下

女友讓我給她論文的圖片上加上字母序號,本來覺得是個很簡單的事情,但那個白底黑字的圓圈序號卻難住了我, 試了幾個常用的軟件,都不行。

后來用 PS + 動作,倒是能搞出來,不過也不容易,正好那天沒搞完,于是拿回自己家做,但我的電腦上又沒有 PS, 所以就用 python 實現(xiàn)了。

效果圖

201556101123056.png (500×250)

這里用的圖片全是 240X240 的,按文件名的首字母作為序號,PIL 雖然可以計算文字的尺寸,但類似 D 這樣的字符依然不能處于圓圈的正中,所以還對個別字符做了偏移設(shè)置,本來想用 aggdraw 畫圓圈的,能平滑 一些,不過安裝了好幾次,都以失敗告終,最終放棄。

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import os, sys, fnmatch
import Image, ImageDraw, ImageFont

def process_picture(filename):
  seq = os.path.split(filename)[-1][0].upper()
  img = Image.open(os.path.join(input_dir, filename))

  draw = ImageDraw.Draw(img)

  # 在右下角畫白底黑框圓圈
  draw.ellipse((215, 215, 235, 235), outline='black', fill='white')

  # 將字母序號寫入到圓圈內(nèi)
  font = ImageFont.truetype('fonts/Times New Roman.ttf', 20)

  # 計算文字居中的位置
  text_size = draw.textsize(seq, font)
  x = (20 / 2) - (text_size[0] / 2)
  y = (20 / 2) - (text_size[1] / 2)

  # 字母偏移量
  offsets = {'A': 1, 'B': 1, 'E': 1, 'D': 2}
  offset = offsets.get(seq, 0)
  draw.text((215 + x + offset, 215 + y), seq, font=font, fill='black')

  # save image
  img.save(os.path.join(output_dir, filename), 'JPEG')

if __name__ == '__main__':
  if len(sys.argv) < 3:
    print 'Usage: python drawseq.py <input_dir> <output_dir>'
    sys.exit(1)

  input_dir, output_dir = sys.argv[1:3] 
  os.path.exists(output_dir) or os.makedirs(output_dir)

  for filename in os.listdir(input_dir):
    if fnmatch.fnmatch(filename.lower(), '*.jpg'):
      process_picture(filename)

相關(guān)文章

  • Python 實現(xiàn)自動獲取種子磁力鏈接方式

    Python 實現(xiàn)自動獲取種子磁力鏈接方式

    今天小編就為大家分享一篇Python 實現(xiàn)自動獲取種子磁力鏈接方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python使用ThreadPoolExecutor一次開啟多個線程

    Python使用ThreadPoolExecutor一次開啟多個線程

    通過使用ThreadPoolExecutor,您可以同時開啟多個線程,從而提高程序的并發(fā)性能,本文就來介紹一下Python使用ThreadPoolExecutor一次開啟多個線程,感興趣的可以了解一下
    2023-11-11
  • Python 實現(xiàn)圖片色彩轉(zhuǎn)換案例

    Python 實現(xiàn)圖片色彩轉(zhuǎn)換案例

    我們在看動漫、影視作品中,當(dāng)人物在回憶過程中,體現(xiàn)出來的畫面一般都是黑白或者褐色的。本文將提供將圖片色彩轉(zhuǎn)為黑白或者褐色風(fēng)格的案例詳解,感興趣的小伙伴可以了解一下。
    2021-11-11
  • python基于mysql實現(xiàn)的簡單隊列以及跨進(jìn)程鎖實例詳解

    python基于mysql實現(xiàn)的簡單隊列以及跨進(jìn)程鎖實例詳解

    這篇文章主要介紹了python基于mysql實現(xiàn)的簡單隊列以及跨進(jìn)程鎖,需要的朋友可以參考下
    2014-07-07
  • python按照list中字典的某key去重的示例代碼

    python按照list中字典的某key去重的示例代碼

    這篇文章主要介紹了python按照list中字典的某key去重的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python wordcloud庫安裝方法

    Python wordcloud庫安裝方法

    Wordcloud庫的基本使用非常簡單,只需要導(dǎo)入庫并調(diào)用WordCloud類即可,這篇文章主要介紹了Python wordcloud庫,需要的朋友可以參考下
    2024-01-01
  • Python數(shù)據(jù)解析bs4庫使用BeautifulSoup方法示例

    Python數(shù)據(jù)解析bs4庫使用BeautifulSoup方法示例

    這篇文章主要為大家介紹了Python數(shù)據(jù)解析bs4庫使用BeautifulSoup方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • python 實現(xiàn)圖與圖之間的間距調(diào)整subplots_adjust

    python 實現(xiàn)圖與圖之間的間距調(diào)整subplots_adjust

    這篇文章主要介紹了python 實現(xiàn)圖與圖之間的間距調(diào)整subplots_adjust,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python 上下文管理器及自定義原理解析

    python 上下文管理器及自定義原理解析

    這篇文章主要介紹了python 上下文管理器原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • django admin 添加自定義鏈接方式

    django admin 添加自定義鏈接方式

    這篇文章主要介紹了django admin 添加自定義鏈接方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論