{"id":574,"date":"2018-09-02T16:21:56","date_gmt":"2018-09-02T08:21:56","guid":{"rendered":"http:\/\/cmesoft.com\/?p=574"},"modified":"2018-09-02T16:21:56","modified_gmt":"2018-09-02T08:21:56","slug":"python-%e7%9a%84-pil-%e7%94%9f%e6%88%90%e5%9b%be%e7%89%87","status":"publish","type":"post","link":"http:\/\/cmesoft.com\/?p=574","title":{"rendered":"python \u7684 PIL \u751f\u6210\u56fe\u7247"},"content":{"rendered":"<p><code lang=\"python\"><br \/>\n#!\/usr\/bin\/env python<\/p>\n<h1>-<em>- coding: utf-8 -<\/em>-<\/h1>\n<p>\"\"\"<br \/>\n<strong>author<\/strong>= 'Du'<br \/>\n<strong>creation_time<\/strong>= '2018\/1\/5 9:08'<br \/>\n\"\"\"<\/p>\n<p>import os, math<br \/>\nimport sys<br \/>\nfrom PIL import Image, ImageFont, ImageDraw<\/p>\n<p>def circle():<br \/>\n    ima = Image.open(\"4.png\").convert(\"RGBA\")<br \/>\n    # ima = ima.resize((600, 600), Image.ANTIALIAS)<br \/>\n    size = ima.size<br \/>\n    print(size)<\/p>\n<p># \u56e0\u4e3a\u662f\u8981\u5706\u5f62\uff0c\u6240\u4ee5\u9700\u8981\u6b63\u65b9\u5f62\u7684\u56fe\u7247<br \/>\n    r2 = min(size[0], size[1])<br \/>\n    if size[0] != size[1]:<br \/>\n        ima = ima.resize((r2, r2), Image.ANTIALIAS)<\/p>\n<p># \u6700\u540e\u751f\u6210\u5706\u7684\u534a\u5f84<br \/>\n    r3 = 200<br \/>\n    imb = Image.new('RGBA', (r3<em>2, r3<\/em>2),(255,255,255,0))<br \/>\n    pima = ima.load() # \u50cf\u7d20\u7684\u8bbf\u95ee\u5bf9\u8c61<br \/>\n    pimb = imb.load()<br \/>\n    r = float(r2\/2) #\u5706\u5fc3\u6a2a\u5750\u6807<\/p>\n<pre><code>for i in range(r2): \n    for j in range(r2): \n        lx = abs(i-r) #\u5230\u5706\u5fc3\u8ddd\u79bb\u7684\u6a2a\u5750\u6807 \n        ly = abs(j-r)#\u5230\u5706\u5fc3\u8ddd\u79bb\u7684\u7eb5\u5750\u6807 \n        l = (pow(lx,2) + pow(ly,2))** 0.5 # \u4e09\u89d2\u51fd\u6570 \u534a\u5f84 \n        if l &lt; r3: \n            pimb[i-(r-r3),j-(r-r3)] = pima[i,j] \nimb.paste(imb, (0, 0, 400, 400), imb)   \nimb.save(\"circle.png\") \n<\/code><\/pre>\n<p>if <strong>name<\/strong> == '<strong>main<\/strong>':<\/p>\n<pre><code>circle()\noutput = \"output-%s.png\" % os.getpid()\nif(len(sys.argv) &gt;= 1):\n    output = \"%s.png\" % sys.argv[1]\nprint output\nim = Image.open(\"circle.png\")\n#im  = Image.new('RGBA', im.size, (100,100,150))\n#im.paste(im, (0, 0, 400, 400), im)\n#im.paste(im, (50,50,200))\n\nttfont = ImageFont.truetype(\"\/usr\/share\/fonts\/msyh.ttf\", 60) \ndraw = ImageDraw.Draw(im)\nname = sys.argv[1][0:10]\npos = 120 - 10*len(name)\/2 \n\npos = pos - int(len(name)\/10) - 20*(int(len(name)\/4))\n\ndraw.text((pos,150), name, fill=(256,256,0), font=ttfont)\n\n\nttfont = ImageFont.truetype(\"\/usr\/share\/fonts\/msyh.ttf\", 20) \ndraw = ImageDraw.Draw(im)\ndraw.text((180,350), u'OPSX', fill=(200,200,200), font=ttfont)\n\nim.save(output)\n<\/code><\/pre>\n<p><\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>#!\/usr\/bin\/env python &#8212; coding: utf-8 &#8212; &#8220;&#8221;&#8221; author= &#8216;&hellip;&nbsp;<a href=\"http:\/\/cmesoft.com\/?p=574\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">python \u7684 PIL \u751f\u6210\u56fe\u7247<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[34],"tags":[],"class_list":["post-574","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"http:\/\/cmesoft.com\/index.php?rest_route=\/wp\/v2\/posts\/574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/cmesoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cmesoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cmesoft.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cmesoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=574"}],"version-history":[{"count":1,"href":"http:\/\/cmesoft.com\/index.php?rest_route=\/wp\/v2\/posts\/574\/revisions"}],"predecessor-version":[{"id":575,"href":"http:\/\/cmesoft.com\/index.php?rest_route=\/wp\/v2\/posts\/574\/revisions\/575"}],"wp:attachment":[{"href":"http:\/\/cmesoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cmesoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=574"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cmesoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}