• <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 放屁阿狗 閱讀(1670) 評論(0)  編輯 收藏 引用 所屬分類: perl/python/php/lua/tcl
            久久热这里只有精品在线观看| 国产精品久久久香蕉| 狠狠色丁香久久婷婷综合蜜芽五月| 久久精品国产一区二区三区日韩| 亚洲色婷婷综合久久| 久久婷婷色香五月综合激情| 亚洲国产成人精品女人久久久| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久久久黑人强伦姧人妻| 久久线看观看精品香蕉国产| 99999久久久久久亚洲| 久久国产免费观看精品| 国产精品热久久毛片| 久久影院午夜理论片无码 | 蜜桃麻豆WWW久久囤产精品| 精品国产乱码久久久久久人妻| 一本色道久久88精品综合| 久久香蕉国产线看观看精品yw| 国产精品99久久精品| 国产精品久久久天天影视香蕉 | 久久久WWW免费人成精品| 亚洲国产成人久久综合一区77| 久久无码高潮喷水| 久久成人国产精品免费软件| 欧美色综合久久久久久| 欧美一区二区久久精品| 久久久久亚洲AV无码专区体验| 国产69精品久久久久APP下载| 亚洲精品无码专区久久久| MM131亚洲国产美女久久| 国产成人精品久久亚洲| 久久精品国产久精国产一老狼| 精品久久一区二区三区| 亚洲欧美一区二区三区久久| 国产美女久久精品香蕉69| 久久久无码精品午夜| 久久人人爽人人爽人人AV东京热| 香蕉久久一区二区不卡无毒影院 | 国产精品久久久天天影视| 精品久久久久久无码人妻蜜桃| 一本色综合网久久|