android生成大分辨率图片,自动生成Android不同分辨率下的图片
轉自:?http://blog..net/offbye/article/details/50012605
Android屏幕分辨率適配的圖標處理比較麻煩,讓UI做不同尺寸的圖片也挺浪費時間的,并且容易出錯,于是用Python寫了個工具自動化處理圖片,UI只需要做好1080*1920分辨率下的圖片就可以了,其它分辨率的圖片自動生成。
[python]?view
plaincopy
importos.path
importsys
fromPILimportImage
"""
自動生成不同分辨率下的App圖片
UI設計1080*1920分辨率圖片,放在drawable-xxhdpi目錄下,自動生成其它的分辨率圖片
"""
__author__?=?['"Xitao":']
defimage_resize(img_file,?target,?percent):
"""resize?image?and?save?to?target?path
:param?img_file:?image?file?path
:param?target:?save?path
:param?percent:?resize?percent
:return:
"""
img?=?Image.open(img_file)
print(img.size)
width,?height?=?img.size
target_img?=?img.resize((int(width?*?percent),?int(height?*?percent)),?Image.ANTIALIAS)
target_img.save(target)
img.close()
target_img.close()
print("?save?target?image?to?"+?target)
defpath_resize(src,?target,?percent):
ifnotos.path.isdir(src):
print(src?+"?must?be?a?dir")
return-1
os.chdir(src)
cwd?=?os.getcwd()
dirs?=?os.listdir(cwd)
forfile_nameindirs:
printfile_name
iffile_name.endswith('.9.png'):
continue
src_file?=?os.path.join(cwd,?file_name)
ifnotos.path.exists(target):
os.mkdir(target)
image_resize(src_file,?target?+?'/'+?file_name,?percent)
defandroid(res_dir):
xxhdpi_path?=?res_dir?+?"/drawable-xxhdpi/"
ifnotos.path.isdir(xxhdpi_path):
print("xxhdpi_path?must?be?a?dir")
return-1
path_resize(xxhdpi_path,?res_dir?+?'/drawable-xhdpi',0.667)
path_resize(xxhdpi_path,?res_dir?+?'/drawable-hdpi',0.444)
path_resize(xxhdpi_path,?res_dir?+?'/drawable-mdpi',0.296)
if__name__?=="__main__":
print('please?input?your?androd?res?dir?path')
print(sys.argv)
ifsys.argv[1]:
android(sys.argv[1])
總結
以上是生活随笔為你收集整理的android生成大分辨率图片,自动生成Android不同分辨率下的图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摄像头线性矫正的c语言实现,摄影测量考试
- 下一篇: android四大组件五大存储六大布局,