用程序來處理圖像和辦公文檔常常出如今實際開發中,Python的標準庫中雖然沒有直接支持這些操做的模塊,但咱們能夠經過Python生態圈中的第三方模塊來完成這些操做。python
顏色。若是你有使用顏料畫畫的經歷,那麼必定知道混合紅、黃、藍三種顏料能夠獲得其餘的顏色,事實上這三種顏色就是被咱們稱爲美術三原色的東西,它們是不能再分解的基本顏色。在計算機中,咱們能夠將紅、綠、藍三種色光以不一樣的比例疊加來組合成其餘的顏色,所以這三種顏色就是色光三原色,因此咱們一般會將一個顏色表示爲一個RGB值或RGBA值(其中的A表示Alpha通道,它決定了透過這個圖像的像素,也就是透明度)。git
名稱 | RGBA值 | 名稱 | RGBA值 |
---|---|---|---|
White | (255, 255, 255, 255) | Red | (255, 0, 0, 255) |
Green | (0, 255, 0, 255) | Blue | (0, 0, 255, 255) |
Gray | (128, 128, 128, 255) | Yellow | (255, 255, 0, 255) |
Black | (0, 0, 0, 255) | Purple | (128, 0, 128, 255) |
像素。對於一個由數字序列表示的圖像來講,最小的單位就是圖像上單一顏色的小方格,這些小方塊都有一個明確的位置和被分配的色彩數值,而這些一小方格的顏色和位置決定了該圖像最終呈現出來的樣子,它們是不可分割的單位,咱們一般稱之爲像素(pixel)。每個圖像都包含了必定量的像素,這些像素決定圖像在屏幕上所呈現的大小。github
Pillow是由從著名的Python圖像處理庫PIL發展出來的一個分支,經過Pillow能夠實現圖像壓縮和圖像處理等各類操做。可使用下面的命令來安裝Pillow。shell
pip install pillow
Pillow中最爲重要的是Image類,讀取和處理圖像都要經過這個類來完成。ui
>>> from PIL import Image >>> >>> image = Image.open('./res/guido.jpg') >>> image.format, image.size, image.mode ('JPEG', (500, 750), 'RGB') >>> image.show()
剪裁圖像spa
>>> image = Image.open('./res/guido.jpg') >>> rect = 80, 20, 310, 360 >>> image.crop(rect).show()
生成縮略圖excel
>>> image = Image.open('./res/guido.jpg') >>> size = 128, 128 >>> image.thumbnail(size) >>> image.show()
縮放和黏貼圖像orm
>>> image1 = Image.open('./res/luohao.png') >>> image2 = Image.open('./res/guido.jpg') >>> rect = 80, 20, 310, 360 >>> guido_head = image2.crop(rect) >>> width, height = guido_head.size >>> image1.paste(guido_head.resize((int(width / 1.5), int(height / 1.5))), (172, 40))
旋轉和翻轉ip
>>> image = Image.open('./res/guido.png') >>> image.rotata(180).show() >>> image.transpose(Image.FLIP_LEFT_RIGHT).show()
操做像素開發
>>> image = Image.open('./res/guido.jpg') >>> for x in range(80, 310): ... for y in range(20, 360): ... image.putpixel((x, y), (128, 128, 128)) ... >>> image.show()
濾鏡效果
>>> from PIL import Image, ImageFilter >>> >>> image = Image.open('./res/guido.jpg') >>> image.filter(ImageFilter.CONTOUR).show()
Python的openpyxl模塊讓咱們能夠在Python程序中讀取和修改Excel電子表格,固然實際工做中,咱們可能會用LibreOffice Calc和OpenOffice Calc來處理Excel的電子表格文件,這就意味着openpyxl模塊也能處理來自這些軟件生成的電子表格。關於openpyxl的使用手冊和使用文檔能夠查看它的官方文檔。
利用python-docx模塊,Pytho 能夠建立和修改Word文檔,固然這裏的Word文檔不單單是指經過微軟的Office軟件建立的擴展名爲docx的文檔,LibreOffice Writer和OpenOffice Writer都是免費的字處理軟件。
PDF是Portable Document Format的縮寫,使用.pdf做爲文件擴展名。接下來咱們就研究一下如何經過Python實現從PDF讀取文本內容和從已有的文檔生成新的PDF文件。