ÔÎĵØÖ· 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ÖÖ²»Í¬µÄ²ÉÑùÂ˾µ(ÔÚÄ¿Ç°µÄ°æ ......
½ñÌìÊÔÑéʹÓÃpythonÁ¬½Ó sql server ·þÎñÆ÷¡£ÎҼǵÃÒÔǰʹÓÃadoÁ¬½Óaccess·Ç³£Ë³Àû£¬µ«ÊǽñÌìʹÓÃadoÁ¬½Ósql server¾¹È»²»³É¹¦¡£ÔÚpythonÀïÃæµÄ³ö´íÐÅÏ¢¶¼ÏÔʾΪתÒÆÐòÁУ¬·ÑÁË°ëÌì¾¢²Å¸ãÃ÷°×£ºÎÞЧµÄÀà±ð×Ö·û´®¡£
ÊÇÁ¬½Ó×Ö·û´®Â𣿲âÊÔÁ˺ü¸¸ö È·ÈÏÎÞÎóµÄÊý¾Ý¿âÁ¬½Ó×Ö·û´®£¬Ò²ÊÇÈç´Ë ¡£ÉÏÍøËÑË÷£¬ÊÇÓпÉÄÜÊÇ comµÄÀà±ð×Ö·û´®¡£ÖØÐÂ×¢²á msado15.dll Îļþ£¬¾¹È»Õý³£ÁË¡£Ææ¹Ö£¬Ê²Ã´Ê±ºò¾¹È»¶ªÊ§ÁËÕâЩע²áÐÅÏ¢ÄØ£¿ ......
½ñÌìÊÔÑéʹÓÃpythonÁ¬½Ó sql server ·þÎñÆ÷¡£ÎҼǵÃÒÔǰʹÓÃadoÁ¬½Óaccess·Ç³£Ë³Àû£¬µ«ÊǽñÌìʹÓÃadoÁ¬½Ósql server¾¹È»²»³É¹¦¡£ÔÚpythonÀïÃæµÄ³ö´íÐÅÏ¢¶¼ÏÔʾΪתÒÆÐòÁУ¬·ÑÁË°ëÌì¾¢²Å¸ãÃ÷°×£ºÎÞЧµÄÀà±ð×Ö·û´®¡£
ÊÇÁ¬½Ó×Ö·û´®Â𣿲âÊÔÁ˺ü¸¸ö È·ÈÏÎÞÎóµÄÊý¾Ý¿âÁ¬½Ó×Ö·û´®£¬Ò²ÊÇÈç´Ë ¡£ÉÏÍøËÑË÷£¬ÊÇÓпÉÄÜÊÇ comµÄÀà±ð×Ö·û´®¡£ÖØÐÂ×¢²á msado15.dll Îļþ£¬¾¹È»Õý³£ÁË¡£Ææ¹Ö£¬Ê²Ã´Ê±ºò¾¹È»¶ªÊ§ÁËÕâЩע²áÐÅÏ¢ÄØ£¿ ......
Èç¹ûPythonÔ´ÎļþÖгöÏÖÖÐÎÄ£¬ÐèÒªÔÚÔ´ÎļþµÚÒ»ÐмÓÉÏÀàËÆÈçϵĴúÂëÒ³Ö¸Á
# -*- coding:gbk -*-
Èç¹û³ÌÐòµÄÔËÐнá¹ûÖаüº¬ÖÐÎÄ£¬¿ÉÒÔÔÚ³ÌÐò¿ªÍ·°üº¬ÈçÏ´úÂ룬¾Í¿ÉÒÔÕýÈ·ÏÔʾÖÐÎĽá¹û£º
import sys
reload(sys)
sys.setdefaultencoding('gbk')
......
1¡¢Ê¹ÓÃdef¶¨Ò庯Êý
2¡¢º¯ÊýÎĵµ£ºÔÚº¯ÊýµÄ¿ªÍ·Ð´ÏÂ×Ö·û´®£¬Ëü¾Í»á×÷Ϊº¯ÊýµÄÒ»²¿·Ö½øÐд洢£¬³ÆΪ"Îĵµ×Ö·û´®"¡£
ÄÚ½¨µÄ½Ð×öhelpµÄº¯Êý·Ç³£ÓÐÓÃ,Èç¹ûÄãÔÚ½»»¥Ê½½âÊÍÆ÷ÖÐʹÓã¬Äã¿ÉÒԵõ½º¯ÊýÒÔ¼°ËüµÄÎĵµ×Ö·û´®µÄÐÅÏ¢£ºeg:>>>help(º¯ÊýÃû)
3¡¢PythonÄÚÓÐЩº¯Êý²¢²»·µ»ØÈκζ«Î÷£¬ÕâÀຯÊýûÓÐreturnÓï¾ä£¬»òÕßËûÃÇÓÐreturnÓï¾äµ«ÊÇÔÚºóÃæûÓÐÈκε¥´Ê
4¡¢²ÎÊý ......
ÕýÔò±í´ïʽÊÇËÑË÷¡¢Ìæ»»ºÍ½âÎö¸´ÔÓ×Ö·ûģʽµÄÒ»ÖÖÇ¿´ó¶ø±ê×¼µÄ·½·¨.
ÕýÔò±í´ïʽ£¨»ò RE£©ÊÇÒ»ÖÖСÐ͵ġ¢¸ß¶Èרҵ»¯µÄ±à³ÌÓïÑÔ£¬£¨ÔÚPythonÖУ©ËüÄÚǶÔÚPythonÖУ¬²¢Í¨¹ý re Ä£¿éʵÏÖ.×Ö·û´®Ò²Óкܶ෽·¨,¿ÉÒÔ½øÐÐËÑË÷ (index¡¢find ºÍ count)¡¢Ìæ»» (replace) ºÍ½â
Îö (split),µ«ËüÃǽöÏÞÓÚ´¦Àí×î¼òµ¥µÄÇé¿ö
re Ä£¿éʹ Python ÓïÑÔÓµÓÐÈ«²¿µÄÕýÔò±í´ïʽ¹¦ÄÜ¡£ compile º¯Êý¸ù¾ÝÒ»¸öģʽ×Ö·û´®ºÍ¿ÉÑ¡µÄ±êÖ¾²ÎÊýÉú³ÉÒ»¸öÕýÔò±í´ïʽ¶ÔÏ󡣸öÔÏóÓµÓÐһϵÁз½·¨ÓÃÓÚÕýÔò±í´ïʽƥÅäºÍÌæ»»¡£
³£ÓÃÕýÔò±í´ïʽ
'.*' ×÷Ϊһ¸öÕýÔò±í´ïʽƬ¶Î±íʾ "ÈÎÒâ¸öÊý(0»ò¸ü¶à¸ö)µÄÈÎÒâ×Ö·û(³ý»»ÐÐÍâ)"¡£Ò²¾ÍÊÇ˵£¬ '.*' Æ¥ÅäÒ»¸ö×Ö·û´®ÖеÄÈÎÒâ×Ó´®£¬°üÀ¨¿Õ´®¡£
'.+' Óë'.*'ÀàËÆ£¬²»¹ýËü²»°üÀ¨¿Õ´®
ҪǿÖÆÒ»¸öģʽ½öÆ¥ÅäÓÉ 'post' ½áβµÄ×Ö·û´®£¬Óà \Z ½áÊøÕâ¸öģʽ¡£¾ÍÏóÏÂÃæÕâÑù£º
r'pre.*post\Z'
Æ¥Åä 'prepost', µ«²»Æ¥Åä 'preposterous'.
ģʽ×Ö·û´®Óï·¨
ģʽ×Ö·û´®Ê¹ÓÃÌØÊâµÄÓï·¨À´±íʾһ¸öÕýÔò±í´ïʽ£º
¶àÊý×ÖĸºÍÊý×ÖÇ°¼ÓÒ»¸ö·´Ð±¸Üʱ»áÓµÓв»Í¬µÄº¬Òå¡£
±êµã·ûºÅÖ»Óб»×ªÒåʱ²ÅÆ¥Åä×ÔÉí£¬·ñÔòËüÃDZíʾÌØÊâµÄº¬Òå
·´Ð±¸Ü±¾ÉíÐèҪʹÓ÷´Ð±¸ÜתÒå¡£
ÓÉÓÚÕýÔò±í´ ......
¼ò½é
ÄãÒѾѧϰÁËÈçºÎÔÚÄãµÄ³ÌÐòÖж¨ÒåÒ»´Îº¯Êý¶øÖØÓôúÂë¡£Èç¹ûÄãÏëÒªÔÚÆäËû³ÌÐòÖÐÖØÓúܶຯÊý£¬ÄÇôÄã¸ÃÈçºÎ±àд³ÌÐòÄØ£¿Äã¿ÉÄÜÒѾ²Âµ½ÁË£¬´ð°¸ÊÇʹÓÃÄ£¿é¡£Ä£¿é»ù±¾ÉϾÍÊÇÒ»¸ö°üº¬ÁËËùÓÐÄ㶨ÒåµÄº¯ÊýºÍ±äÁ¿µÄÎļþ¡£ÎªÁËÔÚÆäËû³ÌÐòÖÐÖØÓÃÄ£¿é£¬Ä£¿éµÄÎļþÃû±ØÐëÒÔ.pyΪÀ©Õ¹Ãû¡£
Ä£¿é¿ÉÒÔ´ÓÆäËû³ÌÐò ÊäÈë ÒÔ±ãÀûÓÃËüµÄ¹¦ÄÜ¡£ÕâÒ²ÊÇÎÒÃÇʹÓÃPython±ê×¼¿âµÄ·½·¨¡£Ê×ÏÈ£¬ÎÒÃǽ«Ñ§Ï°ÈçºÎʹÓñê×¼¿âÄ£¿é¡£
ʹÓÃsysÄ£¿é
#!/usr/bin/python
#filename:sys.py
import sys
print "the command line arguments are:"
for i in sys.argv:
print i
print ' The PYTHONPATH is', sys.path, ' '
Êä³ö½á¹ûÊÇ£º
windyang@windyang-desktop:~/python$ python sys.py
the command line arguments are:
sys.py
The PYTHONPATH is ['/home/windyang/python', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/va ......