自動產生Android不同解析度下的圖片

來源:互聯網
上載者:User

標籤:

Android螢幕解析度適配的表徵圖處理比較麻煩,讓UI做不同尺寸的圖片也挺浪費時間的,並且容易出錯,於是用Python寫了個工具自動化處理圖片,UI只需要做好1080*1920解析度下的圖片就可以了,其它解析度的圖片自動產生。


import os.pathimport sysfrom PIL import Image"""自動產生不同解析度下的App圖片UI設計1080*1920解析度圖片,放在drawable-xxhdpi目錄下,自動產生其它的解析度圖片"""__author__ = [‘"Xitao":<[email protected]>‘]def image_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)def path_resize(src, target, percent):    if not os.path.isdir(src):        print(src + " must be a dir")        return -1    os.chdir(src)    cwd = os.getcwd()    dirs = os.listdir(cwd)    for file_name in dirs:        print file_name        if file_name.endswith(‘.9.png‘):            continue        src_file = os.path.join(cwd, file_name)        if not os.path.exists(target):            os.mkdir(target)        image_resize(src_file, target + ‘/‘ + file_name, percent)def android(res_dir):    xxhdpi_path = res_dir + "/drawable-xxhdpi/"    if not os.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)    if sys.argv[1]:        android(sys.argv[1])


自動產生Android不同解析度下的圖片

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.