• <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
            久久综合久久久| 久久99精品国产麻豆婷婷| 伊人久久久AV老熟妇色| 99久久夜色精品国产网站 | 青青国产成人久久91网| avtt天堂网久久精品| 丁香久久婷婷国产午夜视频| 噜噜噜色噜噜噜久久| 伊人久久大香线蕉综合Av| 久久亚洲国产中v天仙www| 欧美亚洲日本久久精品| 国产精品久久久亚洲| 久久综合久久性久99毛片| 久久精品毛片免费观看| 亚洲?V乱码久久精品蜜桃 | 狠狠综合久久综合中文88| 久久只有这精品99| 久久久久久A亚洲欧洲AV冫| 热re99久久精品国99热| 久久涩综合| 岛国搬运www久久| 99国产欧美久久久精品蜜芽| 久久综合伊人77777麻豆| 99re久久精品国产首页2020| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 人妻无码精品久久亚瑟影视 | 热re99久久精品国99热| 色妞色综合久久夜夜| 久久久久一本毛久久久| 品成人欧美大片久久国产欧美...| 亚洲va国产va天堂va久久| 久久夜色精品国产噜噜亚洲a | 久久国产精品成人片免费| 一本一本久久aa综合精品| 久久热这里只有精品在线观看| 久久精品人妻一区二区三区| 久久精品99无色码中文字幕| AA级片免费看视频久久| 久久久久久一区国产精品| 久久一区二区三区99| 午夜精品久久久久久影视777|