pythonͼÐδ¦Àí¿âPIL(Python Image Library)
ÔÎĵØÖ· http://www.javaeye.com/wiki/Python/1371-python-graphics-library-pil-python-image-library-introduction
¹ØÓÚPIL¿âµÄһЩ¸ÅÄî
pilÄÜ´¦ÀíµÄͼƬ
ÀàÐÍ
pil¿ÉÒÔ´¦Àí¹âդͼƬ(ÏñËØÊý¾Ý×é³ÉµÄµÄ¿é)¡£
ͨµÀ
Ò»¸öͼƬ¿ÉÒÔ°üº¬Ò»µ½¶à¸öÊý¾ÝͨµÀ£¬Èç¹ûÕâЩͨµÀ¾ßÓÐÏàͬµÄάÊýºÍÉî¶È£¬PilÔÊÐí½«ÕâЩͨµÀ½øÐеþ¼Ó
ģʽ
1
1λÏñËØ£¬ºÚºÍ°×£¬´æ³É8λµÄÏñËØ
L
8λÏñËØ£¬ºÚ°×
P
8λÏñËØ£¬Ê¹Óõ÷É«°åÓ³Éäµ½ÈÎºÎÆäËûģʽ
RGB
3×8λÏñËØ£¬Õæ²Ê
RGBA
4×8λÏñËØ£¬Õæ²Ê+͸Ã÷ͨµÀ
CMYK
4×8λÏñËØ£¬ÑÕÉ«¸ôÀë
YCbCr
3×8λÏñËØ£¬²ÊÉ«ÊÓÆµ¸ñʽ
I
32λÕûÐÍÏñËØ
F
32λ¸¡µãÐÍÏñËØ
³ß´ç
ͨ¹ýͼƬ¶ÔÏóµÄsizeÊôÐÔ¿ÉÒԵõ½Í¼Æ¬µÄ³ß´ç£¬½á¹ûÕâÊÇÒ»¸ö¶þÔª×飬°üº¬Ë®Æ½ºÍ´¹Ö±·½ÏòÉϵÄÏñËØÊý¡£
×ø±ê
Pil²ÉÈ¡×óÉϽÇΪ(0,0)µÄ×ø±êϵͳ
µ÷É«°å
mode("P")Ϊÿ¸öÏñËØ¶¨Òå¾ßÌåµÄÑÕɫֵ
ͼƬÐÅÏ¢
¿ÉÒÔͨ¹ýinfoÊôÐÔ¶ÁȡһÕÅͼƬµÄ¸½¼ÓÐÅÏ¢£¬Õâ¸öÓëͼƬµÄ¸ñʽÓйء£
Â˾µ
ÔÚ¶ÔͼƬµÄ¼¸ºÎ²Ù×÷ÖпÉÄܻὫ¶à¸öÊäÈëÏñËØÓ³Éäµ½µ¥¸öµÄÊä³öÏñËØ£¬pilÌṩ4ÖÖ²»Í¬µÄ²ÉÑùÂ˾µ(ÔÚĿǰµÄ°æ±¾ÖУ¬ºóÐøµÄ°æ±¾¿ÉÄÜÖ§³Ö¸ü¶à)
NEAREST
×î½ü
BILINEAR
Ë«ÏßÐÍ
BICUBIC
Ë«Èý´Î²åÖµ
ANTIALIAS
ƽ»¬
ÔÚRGBģʽÏ£¬Ã¿¸öͼƬÓÉÈý¸öͨµÀµþ¼Ó¶ø³É£¬Ã¿¸öģʽÏÂΪһ¸ö»Ò¶Èͼ£¬µ±ÓÐÒ»¸öµ÷É«°åÀ´µ÷É«µÄʱºò£¬ÕâÈýÕŻҶÈͼµÄµþ¼Ó¼´¿ÉºÏ³É3*8λ(ÿ¸öÏñ
ËØ)µÄÒ»¸öÕæ²ÊͼƬ¡£pil¿âÖУ¬Í¼Æ¬Ö®¼äµÄģʽ(mode)¿ÉÒÔת»¯¡£ÏÂÃæ¸ø³öһЩ¼òµ¥µÄÀý×Ó£¬Àý×ÓÖеÄËùÓÐͼƬ¾ùÀ´×ÔÓÚ¹ú¼ÒµØÀíµÄ¹ÙÍø£¬ÎªÁËʹµÃÎĵµ
±È½Ï¶ÌС£¬Ã¿¸öͼƬ¾ùʹÓÃPilËõ·Å³É1/2´óС£¬ÈçÓÐÇÖȨÏÓÒÉ£¬Ç뾡¿ìÁªÏµ£¬ÎÒ»áɾ³ýÕâЩͼƬ¡£
ËùÓеÄͼƬ²Ù×÷±ØÐëÓÐÒ»¸ö²Ù×÷¶ÔÏó£¬PilÌṩopen(filename)
½øÐÐÕâ¸ö¹ý³Ì
´ò¿ªÍ¼Æ¬
1.µ¼ÈëpilµÄImageÄ£¿é
2.ʹÓÃopen(filename)´ò¿ªÎļþ£¬·µ»ØÒ»¸öimage¶ÔÏó
Python´úÂë < type="application/x-shockwave-flash" width="14" height="15" src="http://www.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://www.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=im%20%3D%20Image.open('filename')" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.mac
Ïà¹ØÎĵµ£º
ÓõķֱðÊÇtimeºÍdatetimeº¯Êý
'''
Created on 2009-9-2
@author: jiangqh
'''
import time,datetime
# date to str
print time.strftime("%Y-%m-%d %X", time.localtime())
#str to date
t = time.strptime("2009 - 08 - 08", "%Y - %m - %d")
y,m,d = t[0:3]
print datetime.datetime(y,m,d)
Êä³öµ±Ç°Ê±¼ä ......
Ian Maurer (ian@itmaurer.com), ×ÊÉî¹ËÎÊ, Brulant, Inc.
2006 Äê 7 ÔÂ 03 ÈÕ
±¾ÏµÁÐÎÄÕÂÒ»¹²ÓÐÁ½Æª£¬±¾ÎÄÊÇÆäÖеĵÚһƪ¡£ÔÚÕâһƪÎÄÕÂÖУ¬ÎÒÃǽ«Õ¹Ê¾ Django µÄÓ÷¨£¬Django ÊÇ Python ±à³ÌÓïÑÔÇý¶¯µÄÒ»¸ö¿ªÔ´Ä£ÐÍ-ÊÓͼ-¿ØÖÆÆ÷£¨MVC£©·ç¸ñµÄ Web Ó¦ÓóÌÐò¿ò¼Ü¡£Ê¹Óà Django£¬ÎÒÃÇÔÚ¼¸·ÖÖÓÖ®ÄÚ¾ ......
ǰһÕóÔÚдһ¸ö×Ô¶¯²âÊÔ³ÌÐòʱÐèÒª°´ÕÕÌØ¶¨×Ö·û¶ÔÊÕµ½µÄÊý¾Ý½øÐÐÖ¡µÄ·Ö¸î£¬ÔÓÐÒªÇóÊÇÓÐÿ֡ǰºó¸÷ÓÐÒ»¸öͬÑùµÄÌØÊâ×Ö·û,µ±Ê±¹À¼ÆÏÂʱ¼ä»¹¹»£¬Ï뽫ÆäÀ©Õ¹ÎªÒ»¸ö½ÏΪͨÓù¦ÄÜ£¬¼´Ã¿Ö¡Êý¾ÝǰÓи÷ÓÐÒ»¸öÌØÊâ×Ö·û±íʾ¿ªÊ¼ºÍ½áÊø£¬µ«Ç°ºóÕâÁ½×Ö·û¿ÉÒÔ²»Í¬£¬Ò²¿ÉÒÔÖ»ÓÐÒ»¸ö£¨ÔÚÍ·ÔÚβ·Ö¸îЧ¹û²»Í¬£©£¬Í¬Ê±Ñ§Ï°ÁËÒ»Õópython£¬¸Ð¾õÆ ......
²âÊÔÍøÕ¾£ºBaiduÖ÷Ò³ÒÔ¼°Ïà¹ØµÄÒ³Ãæ
Ö÷Ì⣺ºÚºÐ²âÊÔ£¬¹¦ÄܲâÊÔ£¬ÐÔÄÜ/ѹÁ¦²âÊÔ£¬°²È«²âÊÔ£¬ Êý¾Ý×Öµä¹ÜÀí
1. ²âÊÔÒ³ÃæÊÇ·ñ¿É·ÃÎʵģ»
1.1 HTTP request status = 200, Ò³ÃæÏÂÔØÕýÈ·
from urllib import urlopen
# set up
url = None
# test
url = urlopen('http://www.baidu.com')
assert url.getcode() == 200
# ......
Example 2-18 չʾÁË traceback Ä£¿éÔÊÐíÄãÔÚ³ÌÐòÀï´òÓ¡Òì³£µÄ¸ú×Ù·µ»Ø
(Traceback)ÐÅÏ¢, ÀàËÆÎ´²¶»ñÒ쳣ʱ½âÊÍÆ÷Ëù×öµÄ. Èç Example 2-18 Ëùʾ. 2.11.0.1. Example
2-18. ʹÓà traceback Ä£¿é´òÓ¡¸ú×Ù·µ»ØÐÅÏ¢ File: traceback-example-1.py # note!
import
Example 2-18 չʾÁË traceback Ä£¿éÔÊÐíÄãÔÚ³ÌÐòÀï´òÓ¡Òì³£ ......