python Image resize 對iOS圖片素材進行2X,3X處理


通常在iOS上開發使用的圖片素材1x,2x,3x三種

下面利用python Image 庫 resize函數,由一個大圖,自動生成1x,2x,3x的素材照片;

1. 首先你的python環境要安裝有Image庫, 即PIL

   沒有安裝的,下載源碼 http://effbot.org/downloads/Imaging-1.1.7.tar.gz 

  安裝PIL:

     $ tar xvfz Imaging-1.1.7.tar.gz
     $ cd Imaging-1.1.7
     $ python setup.py install

 

2. 處理邏輯

  傳入照片路徑,設定生成照片的名字,1x的照片大小;

  腳本處理

 

3. 使用的核心函數 resize

#打開指定路徑的照片
img = Image.open(infile)

#轉換成RGBA 添加alpha,大多數照片還是要透明的
img = img.convert("RGBA")

#轉換照片大小
save1x = img.resize((inWidth*1,inHeight*1))

#保存到指定路徑,輸出
save1x.save(out1x)

 

4. 完整的處理python腳本

 

#coding=utf-8
#自動生成iOS上1x,2x,3x圖
#dev.keke@gmail.com
#17-04-19




from sys import argv
import os.path,Image

#verify input
if  len(argv)!=5 or argv[1]=='-h':
    print "調用錯誤,請參考如下說明"
    print "使用該腳本自生成ios上 1x,2x,3x圖片"
    print "使用示例,生成loginBtn.png(100,100),loginBtn@2x.png(200,200),loginBtn@3x.png(300,300)"
    print "python xxx.py ~/path/test.png loginBtn 100 100"
    print ""
    exit()


#in
infile = argv[1]
inName = argv[2]
inWidth = int(argv[3])
inHeight = int(argv[4])
fpath,fname = os.path.split(infile)
img = Image.open(infile)
img = img.convert("RGBA")
x,y = img.size
print "infile: " + infile
print "inSize: (" + str(x) + "," + str(y) +")"


#out
out1x = fpath + "/" + inName + ".png"
out2x = fpath + "/" + inName + "@2x.png"
out3x = fpath + "/" + inName + "@3x.png"
save1x = img.resize((inWidth*1,inHeight*1))
save1x.save(out1x)
save2x = img.resize((inWidth*2,inHeight*2))
save2x.save(out2x)
save3x = img.resize((inWidth*3,inHeight*3))
save3x.save(out3x)
print "out:"
print out1x + "  size: (" + str(inWidth*1) +","+ str(inHeight*1) +")"
print out2x + "  size: (" + str(inWidth*2) +","+ str(inHeight*2) +")"
print out3x + "  size: (" + str(inWidth*3) +","+ str(inHeight*3) +")"

print "SUCCESS"

  使用示例:

cocoaPro-2:iostp cocoajin$ ls
howto.gif    iosImg.py    test.png
cocoaPro-2:iostp cocoajin$ python iosImg.py ./test.png download 100 100
infile: ./test.png
inSize: (473,473)
out:
./download.png  size: (100,100)
./download@2x.png  size: (200,200)
./download@3x.png  size: (300,300)
SUCCESS
cocoaPro-2:iostp cocoajin$ ls
download.png    download@3x.png    iosImg.py
download@2x.png    howto.gif    test.png
cocoaPro-2:iostp cocoajin$ 

 下載腳本 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM