大規模なイメージからxxhdpi、xhdpi、hdpi、mdpi、ldpiドローアブルを作成する方法はありますか?


271

大規模なイメージからxxhdpi、xhdpi、hdpi、mdpi、ldpiドローアブルを自動的に作成する方法はありますか?たとえば、512x512の画像があり、適切なフォルダーにAndroidでサポートされているさまざまな画面解像度用にこの画像のさまざまなバージョンを用意したいとします。


3
Windowsを使用している場合:github.com/delight-im/AndroidDrawableResizer
2014年

私はこのツールをAndroidで実行しました。画像を携帯電話のダウンロードフォルダーに入れ、参照サイズとdpiを選択すると、すべての密度に変換され、適切なフォルダーが作成されます: play.google.com/store/apps/details ?id = fr.arnaudguyon.dpiresizer
Arnaud SmartFun 2016年

迅速かつ簡単な方法については、この回答を確認してください-stackoverflow.com/a/40830399/4015856
Asim KT

4
Android Studioで、を右クリックしてres -> New -> Image Asset選択しますLauncher Icons (legacy)
onmyway133

回答:


191

オプション#1:-xxhdpiドローアブルを出荷し、実行時にAndroidにそれらをダウンサンプリングさせます(欠点:-xxhdpi既知のかなり最近のデバイスでのみ機能します)。

オプション#2:Android Asset Studioを使用してダウンサンプルします。

オプション#3:ssantosの回答に従って、グラフィックエディター内でプロセスを自動化します。

オプション#4:ImageMagickなどを使用して、ソリューションを自分でスクリプト化します。

オプション#5:イメージベイカーを使用する


代わりにxxhdpiとxhdpiのみを出荷することはできますか?私は、xxhdpiを理解しないデバイスがxhdpiからダウンスケールすると想定しています
Juan Campa

@Juan:「xxhdpiとxhdpiのみを出荷することは代替手段ですか?」- minSdkVersionが8以上の場合のみ。あなたはそれより古いデバイスをサポートしようとしている場合は、必要があるでしょうhdpiもないとして、1をxhdpixxhdpi以下のAPIレベル7とのために存在していました。さて、ダウンサンプリングされたドローアブルの外観が好きかどうかは、まったく別の問題です...
CommonsWare、2014

オプション#1とxxhdpi存在しないというあなたのコメントに関して、私はこれが正しいとは思わない。内部的に、Androidはリソース修飾子に文字列ではなくDPI番号(160、320、480など)を使用します。システムのDPIが160で、640の画像が見つかった場合は、テキスト修飾子を「認識する」必要なく、4でダウンサンプリングします。xxxhdpi(Android 4.3)フォルダーにのみ存在するリソースをAndroid 2.3デバイスに出荷しました。
Matt Quigley、2015年

オプション2はxxxhdpiをサポートしていません
表示名

2
オプション#4:ImageMagickを使用し
rdromao 2015年

158

更新

前述のプラグインは放棄されましたが、どうやら最新のフォークがここにあるようです。

古い答え

次の名前のAndroid Studioプラグインを使用しますAndroid Drawable Importer

ここに画像の説明を入力してください

インストール後に使用するには、res / drawableフォルダーを右クリックして次を選択しますNew > Batch Drawable Import

次に、+ボタンを使用して画像を選択し、解像度をxxhdpi(またはソース画像の解像度が何であれ)に設定します。


13
おかげで、私は「Scaled Drawable」の代わりに「Batch Drawable Import」を使用しました。
Malder

@ user123456が言うように、Scaled
Drawable

1
このプラグインはもうメンテナンスされていないようです-2016年の最後のコミット(github.com/winterDroid/…)、何の応答もないクラッシュレポート...
アクティビティを減らす

3
私はこの愛らしいプラグインをAS 3.6で復活させることができまし。テストされていませんが、AS 3.5でも同様です。
悪い敗者

2
@PrajwalW、最新のフォークについて言及するために回答を更新。
アダムジョンズ

97

更新:

プラグインをインストールする古い方法はもう機能しませんが、ここでは元のプラグインのフォークがまだ機能しています。プラグインを手動でインストールした後でも、この回答に従うことができます。

迅速かつ簡単な方法が必要な場合は、https://www.img-bak.in/またはhttps://appicon.co/にアクセスして、iOSでも動作します。

誰にでもわかりやすいように、段階的に説明していきます。

1. ReadMEで提供されているようにプラグインを手動でインストールします

2. Android Studioを再起動します

3.次のスクリーンキャップでわかるように、ここにはドローアブルが1つだけあります

ここに画像の説明を入力してください

4.次に、ドローアブルフォルダーを右クリックし、[新規]> [バッチドローアブルインポート]に移動します。

ここに画像の説明を入力してください

8.追加アイコンをクリックします

5.次にさまざまなドローアブルのバリエーションが必要な「単一」イメージを選択します。

ここに画像の説明を入力してください

6.ここで、元の画像の寸法を選択します。元の画像が私の場合のようにxxhdpiである場合は、「Source Resoultion」として「xxhdpi」を選択します。

7. okを押し、もう一度okを押すと、数秒かかり、ドローアブルのすべての変数が魔法のように取得されます。ここに画像の説明を入力してください

ここに画像の説明を入力してください


3
このプラグインは適切ですが、アセットの品質を維持するには、元のサイズに十分な解像度が必要です。設計者にxxxhdpiアセットを最初に要求してから、それらを縮小する方が良いと思います。
narko

@LaxmanBhattarai、私は自分のアプリケーションをタブレットのみで横向きのみでサポートしたいと考えています。だからあなたの答えに従って、すべてのタブレットデバイスをサポートするために画像にどの描画可能フォルダを使うべきですか?教えて頂けますか?
Hiren Patel 2016

developer.android.com/training/basics/supporting-devices/… このドキュメントを参照してください。任意のフォルダーの最後に-landを追加すると、横長のレイアウトになる可能性があります
erluxman

オプション「アイコンパックドローアブルインポーター」は、マテリアル/ Androidアイコンを利用して解決しました。ヒントをありがとう@LaxmanBhattarai
フランシスロドリゲス

1
このプラグインはもうメンテナンスされていないようです-2016年の最後のコミット(github.com/winterDroid/…)、何の応答もないクラッシュレポート...
アクティビティを減らす

67

Image Bakerなどのオンラインサービスを使用します。

画像ベイカー

それは簡単です。AndroidとiOSの両方の画像をアップロードし、処理済みアセットをダウンロードします。

ダウンロードした画像

注:Image Bakerは、友人と私が作成した無料のサービスです。


1
それは私のために働いています。あなたが直面している問題について開発者に伝えることができるフィードバックウィジェットがあると思います。
Asim KT

5
はい、それは機能していません。「画像のアップロード」のままです
batmaci 2018

1
それは働いています。それは無料のサービスなので、サーバーが遅くなる可能性があります。(24時間後にクリーンアップするためのクローンジョブ)1日後にもう一度試すか、開発者に知らせてください。
Asim KT

cronジョブがスタックしないように、頻繁に実行するのではなく、24時間に1回実行するのはなぜですか?無料サービスの制限ですか?また、無料のサーバーで実行しているのに、なぜ「サービスの実行に年間約100ドルが必要」であるのか(開発コストは?)。
活動を減らす

1.無料サービスの制限です。2.無料の場合、お金は必要ありません。(ドメイン料金のみ)
Asim KT

40

CommonsWareの答えに従ってImageMagick(変換)を使用するbashスクリプト:

Kishan Vaghelaのおかげでフォルダーの作成と引数のチェックが追加されました

#!/bin/sh
#---------------------------------------------------------------
# Given an xxhdpi image or an App Icon (launcher), this script
# creates different dpis resources and the necessary folders
# if they don't exist
#
# Place this script, as well as the source image, inside res
# folder and execute it passing the image filename as argument
#
# Example:
# ./drawables_dpis_creation.sh ic_launcher.png
# OR
# ./drawables_dpis_creation.sh my_cool_xxhdpi_image.png
#
# Copyright (c) 2016 Ricardo Romao.
# This free software comes with ABSOLUTELY NO WARRANTY and
# is distributed under GNU GPL v3 license. 
#---------------------------------------------------------------

if [ $# -eq 0 ]; then
    echo "No arguments supplied"
else if [ -f "$1" ]; then
    echo " Creating different dimensions (dips) of "$1" ..."
    mkdir -p drawable-xxxhdpi
    mkdir -p drawable-xxhdpi
    mkdir -p drawable-xhdpi
    mkdir -p drawable-hdpi
    mkdir -p drawable-mdpi

    if [ $1 = "ic_launcher.png" ]; then
        echo "  App icon detected"
        convert ic_launcher.png -resize 144x144 drawable-xxhdpi/ic_launcher.png
        convert ic_launcher.png -resize 96x96 drawable-xhdpi/ic_launcher.png
        convert ic_launcher.png -resize 72x72 drawable-hdpi/ic_launcher.png
        convert ic_launcher.png -resize 48x48 drawable-mdpi/ic_launcher.png
        rm -i ic_launcher.png
    else
        convert $1 -resize 75% drawable-xxhdpi/$1
        convert $1 -resize 50% drawable-xhdpi/$1
        convert $1 -resize 38% drawable-hdpi/$1
        convert $1 -resize 25% drawable-mdpi/$1
        mv $1 drawable-xxxhdpi/$1
    fi
echo " Done"
else
    echo "$1 not found."
fi
fi

2
とても便利なスクリプト!とにかく、xhdpiには(66%ではなく)67%を使用します。これは、xhdpiとxxhdpiの比率が2/3であるためです。パーセンテージで丸めた場合、67になります。それ以外の場合、66を使用して入力の解像度がxxhdpi = 96 * 96とすると、xhdpi = 63 * 63になります。 64 * 64の代わりに。
HaimS 2015

見つからない場合は、dirを作成する必要があります
Kishan Vaghela '14 / 07/14


非常に便利で、うまく機能します。最後にfiが1つ欠けていると思います。bashの4.3.11にエラーになります
Mijo

あなたは正しい@ Mijo、Kishanは最後のfiを彼の要点に実際に持っていた、そして私はそれを削除した、ばかげた私
rdromao

23

編集:

ウェブサイトは現在appicon.coと呼ばれています


私は通常、assets.codly.ioを 使用します
これは、アセットをブラウザでローカルに生成します。アップロードもダウンロードもありません。

ここに画像の説明を入力してください


入力として「アプリアイコン画像(1024x1024)」のみを受け入れます
アクティビティの削減

2
@MateuszKoniecznyウェブサイトが更新されました。残りの画像には、画像セットと呼ばれる画像用の別のタブがあります。
A.Zidan

Androidの場合、アプリのアイコン、つまりmanipのみが生成されます。また、描画可能なアイコンも生成されます
Nivrutti Pawar

そのウェブサイトであなたのデザインベースサイズを選択するのは何ですか?3xまたは4xを選択する必要がありますか?
Kプラディープクマーレディ

13

新しいAndroid Studioでこれを行う簡単な方法を見つけました。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


KinhKohn、さらに何ですか?別のリソースを選択できますか?
CoolMind 2016

画像をアップロードしたい場合は、閲覧オプションを使用してください。
Kohn1001 2016

はい、動作します。ただし、アセットタイプ「ランチャーアイコン」でのみ必要なカラーアイコンが作成されるようです。したがって、ランチャーアイコンの代わりにもなります。そして、画像をミップマップフォルダに入れます。
CoolMind 2016年

1
アイコンを追加する場合にのみ適しています。
活動の削減

8

ランチャー、アクションバー、タブアイコン、通知アイコンなどの標準アイコンには、EclipseでAndroidアイコンセットと呼ばれるツールを使用しています。[ファイル]-> [新規]-> [その他]-> [Android]-> [Androidアイコンセット]から起動できます。最良の部分は、コンピュータから任意のファイルを選択でき、標準サイズのすべてのイメージをプロジェクトディレクトリに自動的に配置することです。

ここに画像の説明を入力してください


...このツールと同等のウェブサイトを使用することもできます:android-ui-utils.googlecode.com/hg/asset-studio/dist/… (この回答で説明されているツールは、Eclipseに直接統合されているため、優れています、アイコンが自動的に正しいフォルダに配置されます)。
Booger 2013年

「汎用アイコン」に対応していますか?
Ali Behzadian Nejad 2013

Webツールはそれをサポートしているようです。私もウェブを使用していません。:あなたは、このリンクをチェックアウトすることができandroid-ui-utils.googlecode.com/hg/asset-studio/dist/...
ニティン・セティ

7
  1. https://romannurik.github.io/AndroidAssetStudio/index.htmlを使用するだけです。画像からアイコンのセットを作成でき、後でzipファイルをダウンロードできます。
  2. または、Windowsアプリケーションをhttps://github.com/redwarp/9-Patch-Resizer/releases(インストールする必要はありません)からダウンロードして、アイコンを開きます。
  3. また、プラグインを使用することもできますAndroid Drawable Importer。上記の回答を参照してください。廃盤なのでフォークをインストール。参照してくださいなぜAndroidのDrawableのインポータは以降AS 3.5での選択を無視しないhttps://github.com/Vincent-Loi/android-drawable-importer-intellij-plugin
  4. https://appicon.co/#image-sets

2
Android Drawable Importerの作者がAWOLでなくなるまで、私はその後のAndroid Studioリリース用の暫定インストールzipを作成しました。
Bad Loser

@BadLoser、私はあなたのトピックを見ました、ありがとう!私はこのプラグインを使用することはめったにありません、いくつかのバグが含まれているので、それらが再び発生した場合、あなたの解決策を試します。
CoolMind

ええ-書くことは間違いなくこの古いものの壁にあります-しかし、ASリソースマネージャーが完全にクリーンアップするまではそうではありません!
悪い敗者

4

Android Studio Image Assetを使用する

移動:

 Project>res --> right click

 new> image asset

次に設定します:

-Icon type: Launcher Icons
-Asset type: Image
-Path: the/path/to/your/image
-Trim: No
-Padding: 0%
-Shape: None
-Effect: None

[次へ]> [完了]を選択します。

Now you will have your icon in the correct resolutions.

視覚的な例:

編集:私はSVG画像を使用してベクタードローアブルを作成し、それをキャンバスで使用して正しいサイズにサイズ変更するか、DPを変更することをお勧めします。

Googleからデフォルトのアイコンを取得するか、独自のアイコンを作成できます

 Project>res --> right click
 new> vector asset

次に設定します:

-Asset type: Local file (SVG, PSD)
-Path: the/path/to/your/image
-Size: check Override to keep your aspect ratio.
-Chek enable auto mirroring for RTL Layout.

[次へ]> [完了]を選択します。

これでアイコンが表示され、サイズ、色などを変更できるようになります。 ここに画像の説明を入力してください


2

Vector Asset StudioをScalable Vector Graphics(SVG)と組み合わせて使用​​する可能性もあります。残りはAndroid Studioが処理します。公式ドキュメント言います:

Vector Asset Studioを使用すると、マテリアルアイコンを追加し、Scalable Vector Graphic(SVG)ファイルを描画可能なリソースとしてアプリプロジェクトにインポートできます。ラスター画像と比較して、ベクター型ドローアブルはアプリのサイズを縮小し、画質を損なうことなくサイズを変更できます。それらすべてに1つのベクタードローアブルを表示できるため、さまざまな画面サイズと解像度を持つさまざまなAndroidデバイスをより簡単にサポートできます。

私はこれを将来のアプローチと考えています。

Vector Asset Studioのメニューエントリ

Vector Asset Studioのスクリーンショット


2

PSDファイルからic_launcher pngファイルを作成するためのPhotoshopスクリプトを作成しました。ic_launcher_exporterを確認してください

使用するには、ダウンロードして、フォトショップからスクリプトを使用してください。

ここに画像の説明を入力してください

そして、出力ファイルを生成する場所を構成します。

ここに画像の説明を入力してください


1

100%自動ではありませんが、Photoshopアクションを使用すると多くの時間を節約できます。

例えば、特定のxhdpi資産、私はその後のためのタスクを作成hdpiしてmdpi、そのスケールを66.66パーセントにそれぞれ44.44パーセントに。次に、フォルダー上のすべての画像に対してアクションを実行しますxhdpi

512x512画像の場合は、xxhpi、xhdpi、hdpi、mdpiを実現するために画像をスケーリングする必要がある割合を計算するだけです。


0

私はこのスレッドでずっとこの方法でソリューションを使用していましたが、プラグインAndroid Drawable Importerで簡単に作業できます

MacOSでAndroid Studioを使用している場合は、次の手順を実行してください。

  • Android Studioのバーメニューをクリックし、[ 設定]を選択するか、コマンド+、
  • 次に、プラグインを選択します
  • [ リポジトリを参照]をクリックします
  • 検索列にAndroid Drawable Importerを書き込みます
  • インストールボタンをクリックします
  • そして、再起動ダイアログが表示されます、それを再起動するだけですAndroid Studio

プラグインのインストールが成功したら、このプラグインを機能させるために、[新規作成]メニューをクリックし、[ 描画可能なバッチインポート ]を選択します。次に、プラスボタンまたは追加ボタンをクリックし、ファイルを選択して描画可能にします。そして、単に[ok]をクリックします。[OK]をクリックすると、ドローアブルがすべて作成されます。

私の言葉と混同されている場合は、learningmechineの画像チュートリアルをご覧ください。


2
何もありませんAndroid Drawable Importer市場でのプラグインはもう。Android Asset Importer but it crashes開こうとしたときに試してみました(Android Studio 3.6.1)。私が使用して終了appicon.co
flawyte

-1

Androidのシンプルなプラグインが役立ちます。ステップ1.設定に移動します。ステップ2.プラグインをクリックします。ステップ3. Androidドローアブルインポーターを検索します。ステップ4.プラグインをインストールして再起動します。

使い方?

File> New> Batch Drawable Importに移動します

楽しい


Android Drawable ImporterAndroid Studioマーケットプレイスにはプラグインはありません。
マイサー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.