Linux上安装Python的PIL和Pillow库处理图片的实例教程
安装
正常情况,只需
pip install PIL==1.1.7
或者
pip install Pillow==2.9.0
即可。但需留意安装后的输出
安装完成后,需留意输出:
*** TKINTER support not available *** JPEG support not available *** WEBP support not available *** ZLIB (PNG/ZIP) support not available *** FREETYPE2 support not available *** LITTLECMS support not available
是否有需要但不支持的格式,如果有,需安装支持的包。以jpg/png/web为例。
依赖库(library)安装
首先检查是否已经安装
ll /usr/lib/libjpeg.* -rw-r--r-- 1 root root 221942 Jun 30 2010 /usr/lib/libjpeg.a -rw-r--r-- 1 root root 918 Jun 30 2010 /usr/lib/libjpeg.la lrwxrwxrwx 1 root root 17 Mar 21 16:19 /usr/lib/libjpeg.so -> libjpeg.so.62.0.0 lrwxrwxrwx 1 root root 17 Jan 10 10:44 /usr/lib/libjpeg.so.62 -> libjpeg.so.62.0.0 -rw-r--r-- 1 root root 145048 Jun 30 2010 /usr/lib/libjpeg.so.62.0.0
如果没有,则需要安装包
Debian系:
apt-get install libjpeg8-dev for jpg apt-get install zlib1g-dev for png apt-get install libwebp-dev for webp
RedHat系:
yum install libjpeg-devel libpng-devel libwebp-devel
安装完成后,还需要手动建立软链接
DEBIAN 7 & Ubuntu14.04:
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib ln -s /usr/lib/x86_64-linux-gnu/libwebp.so /usr/lib
Centos 6.5:
ls -s /usr/lib64/libjpeg.so /usr/lib ls -s /usr/lib64/libz.so /usr/lib ls -s /usr/lib64/libwebp.so /usr/lib
重新安装
以上就绪后,两种办法重新安装:
pip install -I PIL==1.1.7
-I意思是Force reinstall。安装完成时留意输出对格式的支持。
或者下载源码重装一次,以PIL为例
wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz tar -xzvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7 python setup.py install
对格式的支持可在源码目录下
python selftest.py * TKINTER support not installed —- JPEG support ok —- ZLIB (PNG/ZIP) support ok
如果这里有问题(Debian & Ubuntu没有,但Centos 6.5有), 需要 python setup.py build_ext -i 然后重试。
批量转换图片实现
需求是这样的,由于现在相机像素都很高,拍出来的照片很大,上传到网上相册太慢,于是要先转下大小,之前都是直接在网上搜图片处理的软件,后来想了一下,既然会编程,这种需求完全可以自己动手搞。
Python的图片处理爽歪歪,几行代码搞定,这里用的是pillow库。
下面上代码。
#coding=utf-8 from PIL import Image#需要pillow库 import glob, os in_dir ='tmp_photo'#源图片目录 out_dir = in_dir+'_out'#转换后图片目录 percent = 0.4#缩放比例 if not os.path.exists(out_dir): os.mkdir(out_dir) #图片批处理 def main(): for files in glob.glob(in_dir+'/*'): filepath,filename = os.path.split(files) im = Image.open(files) w,h = im.size im = im.resize((int(w*percent), int(h*percent))) im.save(os.path.join(out_dir,filename)) if __name__=='__main__': main()

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Gunakan kebanyakan editor teks untuk membuka fail XML; Jika anda memerlukan paparan pokok yang lebih intuitif, anda boleh menggunakan editor XML, seperti editor XML oksigen atau XMLSPY; Jika anda memproses data XML dalam program, anda perlu menggunakan bahasa pengaturcaraan (seperti Python) dan perpustakaan XML (seperti XML.Etree.ElementTree) untuk menghuraikan.

Permohonan yang menukarkan XML terus ke PDF tidak dapat dijumpai kerana mereka adalah dua format yang berbeza. XML digunakan untuk menyimpan data, manakala PDF digunakan untuk memaparkan dokumen. Untuk melengkapkan transformasi, anda boleh menggunakan bahasa pengaturcaraan dan perpustakaan seperti Python dan ReportLab untuk menghuraikan data XML dan menghasilkan dokumen PDF.

Alat pemformatan XML boleh menaip kod mengikut peraturan untuk meningkatkan kebolehbacaan dan pemahaman. Apabila memilih alat, perhatikan keupayaan penyesuaian, pengendalian keadaan khas, prestasi dan kemudahan penggunaan. Jenis alat yang biasa digunakan termasuk alat dalam talian, pemalam IDE, dan alat baris arahan.

Tidak ada XML percuma yang mudah dan langsung ke alat PDF di mudah alih. Proses visualisasi data yang diperlukan melibatkan pemahaman dan rendering data yang kompleks, dan kebanyakan alat yang dipanggil "percuma" di pasaran mempunyai pengalaman yang buruk. Adalah disyorkan untuk menggunakan alat sampingan komputer atau menggunakan perkhidmatan awan, atau membangunkan aplikasi sendiri untuk mendapatkan kesan penukaran yang lebih dipercayai.

Kelajuan XML mudah alih ke PDF bergantung kepada faktor -faktor berikut: kerumitan struktur XML. Kaedah Penukaran Konfigurasi Perkakasan Mudah Alih (Perpustakaan, Algoritma) Kaedah Pengoptimuman Kualiti Kod (Pilih perpustakaan yang cekap, mengoptimumkan algoritma, data cache, dan menggunakan pelbagai threading). Secara keseluruhannya, tidak ada jawapan mutlak dan ia perlu dioptimumkan mengikut keadaan tertentu.

Tidak mustahil untuk menyelesaikan penukaran XML ke PDF secara langsung di telefon anda dengan satu aplikasi. Ia perlu menggunakan perkhidmatan awan, yang boleh dicapai melalui dua langkah: 1. Tukar XML ke PDF di awan, 2. Akses atau muat turun fail PDF yang ditukar pada telefon bimbit.

Ia tidak mudah untuk menukar XML ke PDF secara langsung pada telefon anda, tetapi ia boleh dicapai dengan bantuan perkhidmatan awan. Adalah disyorkan untuk menggunakan aplikasi mudah alih ringan untuk memuat naik fail XML dan menerima PDF yang dihasilkan, dan menukarnya dengan API awan. API awan menggunakan perkhidmatan pengkomputeran tanpa pelayan, dan memilih platform yang betul adalah penting. Kerumitan, pengendalian kesilapan, keselamatan, dan strategi pengoptimuman perlu dipertimbangkan ketika mengendalikan penjanaan XML dan penjanaan PDF. Seluruh proses memerlukan aplikasi front-end dan API back-end untuk bekerjasama, dan ia memerlukan pemahaman tentang pelbagai teknologi.

Untuk fail XML kecil, anda boleh menggantikan kandungan anotasi secara langsung dengan editor teks; Untuk fail besar, adalah disyorkan untuk menggunakan parser XML untuk mengubahnya untuk memastikan kecekapan dan ketepatan. Berhati -hati apabila memadam komen XML, menyimpan komen biasanya membantu pemahaman dan penyelenggaraan kod. Petua Lanjutan menyediakan kod sampel Python untuk mengubahsuai komen menggunakan parser XML, tetapi pelaksanaan khusus perlu diselaraskan mengikut perpustakaan XML yang digunakan. Beri perhatian kepada isu pengekodan semasa mengubah suai fail XML. Adalah disyorkan untuk menggunakan pengekodan UTF-8 dan menentukan format pengekodan.
