<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>joolix.com &#187; picture</title>
	<atom:link href="http://joolix.com/tag/picture/feed/" rel="self" type="application/rss+xml" />
	<link>http://joolix.com</link>
	<description>Joolix, linux everywhere!</description>
	<lastBuildDate>Thu, 22 Jul 2010 03:33:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>贡献火星汉字几枚</title>
		<link>http://joolix.com/2010/02/mars-characters/</link>
		<comments>http://joolix.com/2010/02/mars-characters/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 04:46:02 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[picture]]></category>

		<guid isPermaLink="false">http://joolix.com/2010/02/%e8%b4%a1%e7%8c%ae%e7%81%ab%e6%98%9f%e6%b1%89%e5%ad%97%e5%87%a0%e6%9e%9a/</guid>
		<description><![CDATA[RT
屁民们纷纷将汉字向火星接轨，作为不明真相群众中的一员，我感到压力很大，于是发扬赶英超美，不甘人后的精神，制作鸟火星汉字几枚，请各位明白真相的 ggjj 鉴定：
]]></description>
			<content:encoded><![CDATA[<p>RT<br />
屁民们纷纷将汉字向火星接轨，作为不明真相群众中的一员，我感到压力很大，于是发扬赶英超美，不甘人后的精神，制作鸟火星汉字几枚，请各位明白真相的 ggjj 鉴定：</p>
<p><img src="http://farm5.static.flickr.com/4052/4339919972_72034ca7a6_o.jpg" /></p>
<p><img src="http://farm5.static.flickr.com/4023/4339978702_82377180c0_o.jpg" /></p>
<p><img src="http://farm5.static.flickr.com/4055/4339234301_6efdb5410b_o.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2010/02/mars-characters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crubism</title>
		<link>http://joolix.com/2010/02/crubism/</link>
		<comments>http://joolix.com/2010/02/crubism/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 15:53:10 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[picture]]></category>

		<guid isPermaLink="false">http://joolix.com/?p=355</guid>
		<description><![CDATA[RT
from http://beautiful.img.ly/
]]></description>
			<content:encoded><![CDATA[<p>RT<br />
from <a href="http://beautiful.img.ly/">http://beautiful.img.ly/</a><br />
<img src="http://beautiful.img.ly/system/uploads/000/106/197/original_phpRNiOjz."></img></p>
]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2010/02/crubism/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>产生网站验证码图片的脚本</title>
		<link>http://joolix.com/2009/12/python-script-for-gen-identify-pic/</link>
		<comments>http://joolix.com/2009/12/python-script-for-gen-identify-pic/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 16:50:51 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Script]]></category>
		<category><![CDATA[picture]]></category>
		<category><![CDATA[screenshot]]></category>

		<guid isPermaLink="false">http://joolix.com/?p=307</guid>
		<description><![CDATA[近日想用 web.py 搭建一个网站，在登录部分想到用验证码，参考了网上的一些代码以后自己改写出想要的版本，其特点如下：
1） 图片内容为代数算式
2） 有线条干扰
3） 除去生成验证码图片外还返回一个元组: (filename, result)
<span class="readmore"><a href="http://joolix.com/2009/12/python-script-for-gen-identify-pic/" title="产生网站验证码图片的脚本" target="_blank">阅读全文——共1352字</a></span>]]></description>
			<content:encoded><![CDATA[<p>近日想用 web.py 搭建一个网站，在登录部分想到用验证码，参考了网上的一些代码以后自己改写出想要的版本，其特点如下：</p>
<p>1） 图片内容为代数算式<br />
2） 有线条干扰<br />
3） 除去生成验证码图片外还返回一个元组: (filename, result)</p>
<p>使用倒是挺方便的，先放出源码，希望能启发大家。<br />
这里有一张生成的图片：</p>
<p><img src="http://joolix.com/wp-content/uploads/2009/12/707e707e2bae4bd04be4523c46082e25.jpg" alt="验证码例图"/></p>
<p>源码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
</pre></td><td class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
<span style="color: #808080; font-style: italic;"># -*- coding: utf-8 -*-</span>
<span style="color: #808080; font-style: italic;"># Name:     genpic.py</span>
<span style="color: #808080; font-style: italic;"># Author:   xiooli &lt;xioooli[at]yahoo.com.cn&gt;</span>
<span style="color: #808080; font-style: italic;"># Site:     http://joolix.com</span>
<span style="color: #808080; font-style: italic;"># Licence:  GPLv3</span>
<span style="color: #808080; font-style: italic;"># Version:  091218</span>
&nbsp;
<span style="color: #483d8b;">''</span><span style="color: #483d8b;">'用于产生网站验证码图片(代数算式)'</span><span style="color: #483d8b;">''</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> Image,ImageDraw,ImageFont
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">random</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">math</span>
<span style="color: #ff7700;font-weight:bold;">import</span> hashlib
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">datetime</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> genpic<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:
    <span style="color: #483d8b;">''</span><span style="color: #483d8b;">'生成验证码图片,返回一个元组(filename,result)'</span><span style="color: #483d8b;">''</span>
    <span style="color: #808080; font-style: italic;">#图片宽度</span>
    width = <span style="color: #ff4500;">130</span>
    <span style="color: #808080; font-style: italic;">#图片高度</span>
    height = <span style="color: #ff4500;">35</span>
    <span style="color: #808080; font-style: italic;">#背景颜色</span>
    bgcolor = <span style="color: black;">&#40;</span><span style="color: #ff4500;">151</span>, <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,<span style="color: #ff4500;">225</span><span style="color: black;">&#41;</span>, <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,<span style="color: #ff4500;">225</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    <span style="color: #808080; font-style: italic;">#生成背景图片</span>
    image = Image.<span style="color: #dc143c;">new</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'RGB'</span>,<span style="color: black;">&#40;</span>width,height<span style="color: black;">&#41;</span>,bgcolor<span style="color: black;">&#41;</span>
    <span style="color: #808080; font-style: italic;">#加载字体</span>
    font = ImageFont.<span style="color: black;">truetype</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/usr/share/fonts/TTF/DejaVuSans-Bold.ttf'</span>,<span style="color: #ff4500;">27</span><span style="color: black;">&#41;</span>
    <span style="color: #808080; font-style: italic;">#字体颜色</span>
    fontcolor = <span style="color: black;">&#40;</span>0, 0, 0<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#产生draw对象</span>
    draw = ImageDraw.<span style="color: black;">Draw</span><span style="color: black;">&#40;</span>image<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;"># 生成算式</span>
    ops = <span style="color: black;">&#91;</span><span style="color: #483d8b;">'+'</span>, <span style="color: #483d8b;">'-'</span><span style="color: black;">&#93;</span>
    op = <span style="color: #dc143c;">random</span>.<span style="color: black;">choice</span><span style="color: black;">&#40;</span>ops<span style="color: black;">&#41;</span>
    num1 = <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0, <span style="color: #ff4500;">99</span><span style="color: black;">&#41;</span>
    num2 = <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0, <span style="color: #ff4500;">99</span><span style="color: black;">&#41;</span>
    rand_str = <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>num1<span style="color: black;">&#41;</span> + <span style="color: #483d8b;">&quot; &quot;</span> + op + <span style="color: #483d8b;">&quot; &quot;</span> + <span style="color: #008000;">str</span><span style="color: black;">&#40;</span>num2<span style="color: black;">&#41;</span>
    result = <span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #008000;">eval</span><span style="color: black;">&#40;</span>rand_str<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;"># 生成文件名</span>
    m = hashlib.<span style="color: #dc143c;">md5</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    m.<span style="color: black;">update</span><span style="color: black;">&#40;</span><span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">datetime</span>.<span style="color: #dc143c;">datetime</span>.<span style="color: black;">now</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    fnm = m.<span style="color: black;">hexdigest</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#画字体,(0,0)是起始位置</span>
    draw.<span style="color: black;">text</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>0,0<span style="color: black;">&#41;</span>,rand_str + <span style="color: #483d8b;">' ='</span>,font=font,fill=fontcolor<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#画线</span>
    <span style="color: #808080; font-style: italic;">#线的颜色</span>
    linecolor= <span style="color: black;">&#40;</span><span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,<span style="color: #ff4500;">225</span><span style="color: black;">&#41;</span>, <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,<span style="color: #ff4500;">225</span><span style="color: black;">&#41;</span>, <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,<span style="color: #ff4500;">225</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>0,<span style="color: #ff4500;">15</span><span style="color: black;">&#41;</span>:
        <span style="color: #808080; font-style: italic;">#随机产生线条</span>
        x1 = <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,width<span style="color: black;">&#41;</span>
        x2 = <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,width<span style="color: black;">&#41;</span>
        y1 = <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,height<span style="color: black;">&#41;</span>
        y2 = <span style="color: #dc143c;">random</span>.<span style="color: black;">randint</span><span style="color: black;">&#40;</span>0,height<span style="color: black;">&#41;</span>
        draw.<span style="color: black;">line</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>x1, y1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>x2, y2<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>, linecolor<span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">#释放draw</span>
    <span style="color: #ff7700;font-weight:bold;">del</span> draw
&nbsp;
    <span style="color: #808080; font-style: italic;">#保存文件到本地</span>
    image.<span style="color: black;">save</span><span style="color: black;">&#40;</span>fnm + <span style="color: #483d8b;">'.jpg'</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#40;</span>fnm, result<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>:
    pic = genpic<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> pic</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2009/12/python-script-for-gen-identify-pic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crabuntu Logo</title>
		<link>http://joolix.com/2009/06/crabuntu-logo/</link>
		<comments>http://joolix.com/2009/06/crabuntu-logo/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 15:15:01 +0000</pubDate>
		<dc:creator>xiooli</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[picture]]></category>

		<guid isPermaLink="false">http://joolix.com/?p=184</guid>
		<description><![CDATA[RT
鑒於社會如此河蟹，順手涂鴉偶得一幅圖片，本人素無藝術鑒賞能力，但覺花花緑緑煞是好看，于是傳上來供有藝術細胞的童鞋觀看。請勿跨省追捕，謝謝！


<span class="readmore"><a href="http://joolix.com/2009/06/crabuntu-logo/" title="Crabuntu Logo" target="_blank">阅读全文——共80字</a></span>]]></description>
			<content:encoded><![CDATA[<p>RT</p>
<p>鑒於社會如此河蟹，順手涂鴉偶得一幅圖片，本人素無藝術鑒賞能力，但覺花花緑緑煞是好看，于是傳上來供有藝術細胞的童鞋觀看。請勿跨省追捕，謝謝！</p>
<table style="width:auto;">
<tr>
<td><a href="http://picasaweb.google.com/lh/photo/veP_zrChfdP83x3yQ8IRdA?feat=embedwebsite"><img src="http://lh3.ggpht.com/_C1WSa6kKfQg/Sj-eGKHHL8I/AAAAAAAAEgw/cKILdqHPKB4/s800/crabuntu.png" /></a></td>
</tr>
<tr>
<td style="font-family:arial,sans-serif; font-size:11px; text-align:right">发件人 <a href="http://picasaweb.google.com/xioooli/WpImages?feat=embedwebsite">xiooli</a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://joolix.com/2009/06/crabuntu-logo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
