• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            socketref,再見!高德

            https://github.com/adoggie

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(54)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            一個朋友經常碰到要將大批量的照片輸出到寫真機,就不停的將圖片加載進photoshop,然后排版,效率夠慢的,便寫個腳本把這些工作簡化了
            config.txt配置信息
            1 item_hspace=0.5
            2 item_vspace=0.5
            3 item_width = 20 #15cm
            4 item_height = 15
            5 DPI=96
            6 canvas_heigth=88 #200cm
            7 canvas_rotation=90 
            8 source = D:\共享\2010.9.20\小天鵝幼兒園小4班照片
            9 outfile=final2.tiff

            main.py處理代碼
              1 #-*- coding:utf-8 -*-
              2 #
              3 #name: config.py
              4 #brief:
              5 #    系統配置文件
              6 #author: scott
              7 #
              8 
              9 
             10 import os,sys,time,os.path,traceback
             11 import zlib,binascii
             12 import PIL,Image
             13 import config
             14 
             15 DPI=96.0
             16 
             17 POINTS_PER_METER = DPI/2.54 * 100 #每米多少個像素
             18 POINT_PER_CMETER = DPI/2.54
             19 
             20 ITEM_HSPACE=0
             21 ITEM_VSPACE=1
             22 ITEM_WIDTH =#照片的寬度
             23 ITEM_HEIGTH = 0 #照片寬度決定了高度
             24 CANVAS_HEIGHT= 0 #畫板高度,長度是無限制的
             25 CANVAS_ROTATION = -90 #最終輸出照片進行旋轉輸出
             26 
             27 conf = config.SimpleConfig()
             28 conf.open('config.txt')
             29 DPI = conf.getPropertyValueAsFloat('DPI',96.0)
             30 ITEM_HSPACE = conf.getPropertyValueAsFloat('item_hspace',0.5* POINT_PER_CMETER
             31 ITEM_VSPACE = conf.getPropertyValueAsFloat('item_vspace',0.5* POINT_PER_CMETER
             32 ITEM_WIDTH = conf.getPropertyValueAsFloat('item_width',15* POINT_PER_CMETER
             33 ITEM_HEIGHT = conf.getPropertyValueAsFloat('item_height',10* POINT_PER_CMETER
             34 
             35 CANVAS_HEIGHT = conf.getPropertyValueAsFloat('canvas_heigth',200* POINT_PER_CMETER
             36 CANVAS_ROTATION = conf.getPropertyValueAsFloat('canvas_rotation',-90
             37 
             38 ITEM_HSPACE = int(ITEM_HSPACE)
             39 ITEM_VSPACE = int(ITEM_VSPACE)
             40 ITEM_WIDTH = int(ITEM_WIDTH)
             41 ITEM_HEIGHT = int(ITEM_HEIGHT)
             42 CANVAS_HEIGHT = int( CANVAS_HEIGHT)
             43 
             44 print conf.getPropertyValueAsFloat('canvas_rotation',-90)
             45 
             46 rows = CANVAS_HEIGHT / (ITEM_HEIGHT+ITEM_VSPACE)
             47 
             48 source = conf.getPropertyValue('source')
             49 final = conf.getPropertyValue('outfile')
             50 
             51 files = []
             52 
             53 imgsize=[0,0]
             54 
             55 for f in os.listdir(source):
             56     if os.path.isdir( "%s/%s"%(source,f)):
             57         continue
             58     try:
             59         imgfile = Image.open("%s/%s"%(source,f))
             60         size = imgfile.size
             61         if size[0]<size[1]:
             62             imgfile = imgfile.rotate(90)
             63             imgfile.save("%s/%s"%(source,f))
             64     except:
             65         continue
             66     files.append(    "%s/%s"%(source,f))
             67 #計算輸出文件的大小
             68 cols = len(files)/(rows)
             69 cols = int(cols)
             70 if  len(files)%(rows) != 0:
             71     cols +=1
             72     
             73 CANVAS_WIDTH = cols * (ITEM_VSPACE+ITEM_WIDTH)
             74 imgsize = (CANVAS_WIDTH,CANVAS_HEIGHT)
             75 imgcanvas = Image.new('RGB',imgsize,0xffffff)
             76 
             77 print CANVAS_WIDTH,CANVAS_HEIGHT
             78 print cols,rows
             79 
             80 for c in range(cols):
             81     x = c * (ITEM_WIDTH+ITEM_HSPACE)
             82     for r in range( int(rows)):
             83         y = r * (ITEM_HEIGHT+ITEM_VSPACE)
             84         if len(files):
             85             file = files[0]
             86             files.remove(file)
             87             try:
             88                 print 'open file:',file
             89                 imgfile = Image.open(file)
             90                 print (x,y,x+ITEM_WIDTH,y+ITEM_HEIGHT)
             91                 imgfile = imgfile.resize((ITEM_WIDTH,ITEM_HEIGHT))
             92                 imgcanvas.paste(imgfile,(x,y,x+ITEM_WIDTH,y+ITEM_HEIGHT))
             93                 
             94                 #imgcanvas.paste(imgfile,(x,y))
             95             except:
             96                 print traceback.print_exc()
             97                 #sys.exit()
             98 if CANVAS_ROTATION:
             99     print CANVAS_ROTATION
            100     imgcanvas = imgcanvas.rotate(CANVAS_ROTATION)
            101     pass
            102     
            103 imgcanvas.save(final)
            104 
            105 



            posted on 2010-09-22 19:50 放屁阿狗 閱讀(1675) 評論(0)  編輯 收藏 引用 所屬分類: perl/python/php/lua/tcl
            99久久精品国产一区二区| 久久99国产精品久久99果冻传媒| 久久精品国产亚洲Aⅴ香蕉| 日本国产精品久久| 国产精品99久久久精品无码| 亚洲中文久久精品无码ww16 | 久久精品国产99国产精品导航| 99精品久久精品一区二区| 99久久国产精品免费一区二区| 久久w5ww成w人免费| 亚洲精品蜜桃久久久久久| 婷婷久久综合| 高清免费久久午夜精品| 一级做a爰片久久毛片免费陪| 久久综合久久综合九色| 久久午夜电影网| 伊人久久大香线蕉AV一区二区| 久久亚洲国产精品一区二区| 亚洲中文字幕久久精品无码APP| 国产AⅤ精品一区二区三区久久| 久久国产免费观看精品| 亚洲精品99久久久久中文字幕| 国产V综合V亚洲欧美久久| 午夜精品久久久久久毛片| 久久青青草原精品国产软件| 亚洲第一永久AV网站久久精品男人的天堂AV | 无码国内精品久久人妻蜜桃| 久久成人国产精品一区二区| 久久精品国产第一区二区| 国产精品久久久久jk制服| 国内精品久久久久久久久电影网 | 久久综合给久久狠狠97色| 国产精品美女久久久久| 中文字幕人妻色偷偷久久 | 国产99久久久国产精品~~牛| 国产亚洲综合久久系列| 国产偷久久久精品专区| 亚洲国产美女精品久久久久∴| 久久久无码精品亚洲日韩京东传媒 | 久久综合狠狠综合久久综合88| 久久久婷婷五月亚洲97号色|