基于pygtk的Linux原生豆瓣电台客户端

由于对客户端有强迫症,想听豆瓣电台又不想用网页版,网上搜了一下linux的又只有播放器插件(banshee , exaile),都不很满意

一气之下自己捣鼓一个吧,正好练练手

学习了一下pygtk,用着太爽了,尤其是配合glade做GUI

效果图:

 

由于只是娱乐用,所以不会对源码有什么维护…

需要gstreamer-plugins-ugly gstreamer-python pygtk2-libglade(必须是2)

yum install gstreamer-plugins-ugly gstreamer-python pygtk2-libglade

与豆瓣电台交互部分使用的libdoubanfm.py

 

源码下载: {filelink=1}

图片分块python脚本【2011/12/22更新】

前段时间看到有QQ群把图片拆成3×3的9份图片,上传到群相册之后显示成一个大图,蛮好玩,也弄了一个,上传到动漫社的群里了

效果图:

 

不过手动分还是好麻烦啊,于是随手用python写了个小脚本,就当练手了,顺便熟悉了一下pil,确实挺好用

————————————————————————————————-

2011/12/22更新:把图片之间的间隙也算了进来,显示效果更好了
新效果图:

 

import sys
import Image

if len(sys.argv) < 4:  
    print u'Usage: %s filename horizonpiece verticalpiecen' % sys.argv[0]
    exit()

fname=((9,8,7),(6,5,4),(3,2,1))

im = Image.open(sys.argv[1])
size = im.size
piece = (int(sys.argv[2]), int(sys.argv[3]))
print 'piece', piece
padding = (size[0]*5/136,size[1]*8/184)
print 'padding', padding
piecesize = ((size[0]-2*padding[0])/piece[0], (size[1]-2*padding[1])/piece[1])
print 'size of every piece', piecesize

for x in range(1, piece[0]+1):
    for y in range(1, piece[1]+1):
        #(left, upper, right, lower)
        box = (piecesize[0]*(x-1)+(x-1)*padding[0], piecesize[1]*(y-1)+(y-1)*padding[1], piecesize[0]*x+(x-1)*padding[0], piecesize[1]*y+(y-1)*padding[1])
        print 'crop image', box
        p = im.crop(box)
        p.save(str(fname[y-1][x-1])+'.jpg')
print 'finished!'