• <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 放屁阿狗 閱讀(1669) 評論(0)  編輯 收藏 引用 所屬分類: perl/python/php/lua/tcl
            久久亚洲日韩看片无码| 国产成人精品久久亚洲| 伊人久久无码中文字幕| 欧洲人妻丰满av无码久久不卡| 午夜精品久久久久久毛片| 国产精品久久久久jk制服| 久久精品成人免费观看97| 久久久精品久久久久影院| 99久久精品午夜一区二区| 欧美久久亚洲精品| 久久午夜无码鲁丝片| 久久黄视频| 久久久久久久尹人综合网亚洲 | 中文国产成人精品久久不卡| 97久久超碰成人精品网站| 香蕉aa三级久久毛片| 久久综合欧美成人| 日韩精品久久久肉伦网站| 久久WWW免费人成—看片| 久久99国产亚洲高清观看首页| 久久久久亚洲AV成人网人人网站| 久久99国产精品久久99| 无码AV波多野结衣久久| 久久强奷乱码老熟女网站| 久久精品亚洲乱码伦伦中文| 91精品国产高清久久久久久国产嫩草 | 国产精品久久影院| 亚洲中文字幕无码久久精品1| 国产精品内射久久久久欢欢| 国内精品久久久久影院日本| 婷婷五月深深久久精品| 狠狠色婷婷久久综合频道日韩| 少妇被又大又粗又爽毛片久久黑人| 国产精品99久久久久久宅男| 色综合久久精品中文字幕首页| 久久丫精品国产亚洲av不卡| 无码人妻久久久一区二区三区| 亚洲精品无码久久一线| 久久夜色精品国产网站| 久久精品国产亚洲AV香蕉| 国产精品久久久久无码av|