Büyük ölçekli bir görüntüden xxhdpi, xhdpi, hdpi, mdpi ve ldpi çekilebilirleri oluşturmanın bir yolu var mı?


271

Büyük ölçekli bir görüntüden otomatik olarak xxhdpi, xhdpi, hdpi, mdpi ve ldpi çekilebilirleri oluşturmanın bir yolu var mı? Örneğin, 512x512 boyutlarında bir resmim olduğunu ve Android tarafından uygun klasörlerde desteklenen farklı ekran çözünürlükleri için bu resimlerin farklı sürümlerini kullanmak istediğimizi varsayalım.


3
caw

Bu aracı Android'de yaptım, resminizi telefonunuzun indirme klasörüne koydunuz, ardından bir referans boyutu ve dpi seçtiniz ve tüm yoğunluklara dönüşüyor ve uygun klasörleri oluşturuyor: play.google.com/store/apps/details ? id = fr.arnaudguyon.dpiresizer
Arnaud SmartFun

Hızlı ve kolay yöntem için bu yanıtı kontrol edin - stackoverflow.com/a/40830399/4015856
Asim KT

4
Android Studio'da sağ tıklayın res -> New -> Image Asset, seçinLauncher Icons (legacy)
onmyway133

Yanıtlar:


191

Seçenek # 1: Sadece -xxhdpiçekmeceleri gönderin ve Android'in çalışma zamanında sizin için örneklemesine izin verin (olumsuz: yalnızca -xxhdpibilinen son cihazlarda çalışacaktır ).

2. Seçenek: Android Asset Studio'yu sizin için altörneklemek için kullanın .

Seçenek # 3: Ssantos'un cevabına göre bir grafik düzenleyicide işlemi otomatikleştirin .

Seçenek # 4: ImageMagick gibi bir şey kullanarak kendinize bir çözüm yazın.

Seçenek # 5: Görüntü oluşturucu kullanın


Sadece xxhdpi ve xhdpi sevkiyatı alternatif midir? Xxhdpi'yi anlamayan cihazların xhdpi'den küçüleceğini varsayıyorum
Juan Campa

@Juan: "Sadece xxhdpi ve xhdpi sevkiyatı alternatif mi?" - yalnızca minSdkVersion8 veya daha yüksekseniz. Bundan daha eski cihazları desteklemeye çalışıyorsanız hdpi, API Seviye 7 ve altı için xhdpine xxhdpimevcut ne de mevcut olan bir aygıta da ihtiyacınız olacaktır . Şimdi, aşağı
örneklendirilebilir çekmecelerinizin görünümünü beğenmek

Seçenek # 1 ve xxhdpimevcut olmayan hakkındaki yorumlarınızla ilgili olarak , bunun doğru olduğuna inanmıyorum. Dahili olarak, Android kaynak niteleyicileri için dize değil DPI numaraları (160, 320, 480 vb.) Kullanır. Sistem DPI 160 ise ve 640 bir görüntü bulursa, metin niteleyicisini "bilmeye" gerek kalmadan 4'lü örnek oluşturur. Yalnızca xxxhdpi(Android 4.3) klasöründe bulunan kaynakları Android 2.3 cihazlara gönderdik.
Matt Quigley

2. seçenek xxxhdpi'yi desteklemiyor
Görünen Ad

2
Seçenek # 4: Imagemagick ile Senaryo çözümü burada
rdromao

158

Güncelleme :

Daha önce sözü edilen eklenti terk edildi, ancak görünüşe göre burada güncel bir çatal var .

Eski Cevap :

Android Studio eklentisini şu adla kullanıyorum Android Drawable Importer:

resim açıklamasını buraya girin

Yüklendikten sonra kullanmak için res / drawable klasörünüzü sağ tıklayın ve New > Batch Drawable Importşunları seçin :

Ardından +düğmeyle görüntünüzü seçin ve Çözünürlüğü xxhdpi (veya kaynak görüntünüzün çözünürlüğü ne olursa olsun) olarak ayarlayın.


13
Teşekkürler, ancak 'Ölçekli Çekilebilir' yerine 'Toplu Çekilebilir İçe Aktarma' kullandım.
Malder

@ User123456, Ölçekli
Çekilebilir

1
Bu eklenti artık korunmuyor gibi görünüyor - 2016'da son taahhüt ( github.com/winterDroid/… ), herhangi bir yanıt vermeden kilitlenme raporları ...
etkinliği

3
Bu sevimli eklentiyi AS 3.6 altında ve muhtemelen test edilmemiş olsa da AS 3.5 altında yeniden canlandırmayı başardım .
Kötü Kaybeden

2
@PrajwalW, güncel çataldan bahsetmek için cevabı güncelledi.
Adam Johns

97

Güncelleme:

Eklentiyi kurmanın eski yolu artık çalışmıyor, ancak orijinal eklentinin bir çatalı hala burada çalışıyor . Eklentiyi manuel olarak yükledikten sonra da bu yanıtı takip edebilirsiniz.

Hızlı ve kolay bir yol istiyorsanız https://www.img-bak.in/ veya https://appicon.co/ adresini ziyaret edin , iOS ile de çalışırlar.

Süreci adım adım açıklamaya çalışacağım, böylece kimseyi anlamak kolay olacak.

1. Eklentiyi Benioku dosyasında belirtildiği şekilde el ile yükleyin

2. Android stüdyosunu yeniden başlatın

3. Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, burada sadece bir tane çekilebilir var

resim açıklamasını buraya girin

4. Şimdi çizilebilir klasöre sağ tıklayın ve Yeni> Toplu Çekilebilir İçe Aktarma seçeneğine gidin

resim açıklamasını buraya girin

8. Şimdi ekle simgesine tıklayın

5. Şimdi farklı çekilebilir varyasyonları istediğiniz "Tekli" görüntüyü seçin .

resim açıklamasını buraya girin

6. Şimdi başlangıç ​​görüntüsünün hangi boyutta olacağını seçin. Orijinal görüntü benim durumumda olduğu gibi xxhdpi ise, "Source Resoultion" olarak "xxhdpi" yi seçin.

7. Şimdi Tamam'a ve sonra tekrar Tamam'a basın .. ve sonra birkaç saniye sürecek ve sonra çekmecelerin tüm değişkenlerini sihirli bir şekilde alacaksınız.resim açıklamasını buraya girin

resim açıklamasını buraya girin


3
Bu eklenti iyi, ancak öğenin kalitesini korumak için orijinal boyutunun yeterli çözünürlüğe sahip olması gerekir. Sanırım tasarımcıdan önce xxxhdpi varlıkları istemek ve daha sonra ölçeklendirmek daha iyidir.
narko

@LaxmanBhattarai, Uygulamamı yalnızca tablette yalnızca yatay olarak desteklemek istiyorum. Cevabınıza göre, tüm tablet cihazlarını desteklemek için görüntüler için hangi çekilebilir klasörü kullanmalıyım? Lütfen bana bildirir misin?
Hiren Patel

developer.android.com/training/basics/supporting-devices/… lütfen bu belgeye bakın ve herhangi bir klasörün sonuna -land eklenmesi manzara düzeniyle sonuçlanabilir
erluxman

"Icon Pack Drawable Importer" seçeneği Material / Android simgeleri kullanıyor ve bana çözüldü. @LaxmanBhattarai için teşekkürler
Francis Rodrigues

1
Bu eklenti artık korunmuyor gibi görünüyor - 2016'da son taahhüt ( github.com/winterDroid/… ), herhangi bir yanıt vermeden kilitlenme raporları ...
etkinliği

67

Image Baker gibi bir çevrimiçi hizmet kullanın .

görüntü fırıncı

Basit. Hem Android hem de iOS için resimleri yükleyin ve işlenen varlıkları indirin.

İndirilen resimler

Not: Image Baker, arkadaşım ve kendim tarafından oluşturulan ücretsiz bir hizmettir.


1
Benim için çalışıyor. Sanırım geliştiricilere karşılaştığınız sorunu anlatabileceğiniz bir geri bildirim widget'ı var.
Asim KT

5
evet çalışmıyor. kalır "görüntüleri yükleniyor"
batmaci

1
İşe yarıyor. Ücretsiz bir servis sunucusu olduğundan yavaş olabilir. (24 saat sonra temizlik için kron işi) Bir gün sonra tekrar deneyin veya geliştiricilere bildirin.
Asim KT

Cron işi neden sıkışmasını önlemek için daha sık çalıştırmak yerine 24 saat bir kez çalıştırılıyor? Ücretsiz hizmetin bir sınırlaması var mı? Ayrıca, ücretsiz bir sunucuda (dev maliyetleri?) Çalışıyorsa, neden "Hizmeti çalıştırmak için yılda yaklaşık 100 $ gerekir?"
aktiviteyi azaltma

1. Bu ücretsiz hizmet bir sınırlama 2. ücretsiz ise para için gerek yok. (yalnızca alan adı ücreti)
Asim KT

40

CommonsWare'in cevabına göre ImageMagick (convert) kullanan bir bash betiği:

Kishan Vaghela sayesinde klasör oluşturma ve argüman kontrolü eklendi

#!/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
Çok kullanışlı bir script! Her neyse, xhdpi için% 67 (% 66 yerine) kullanırdım. Çünkü xhdpi ve xxhdpi arasındaki oran 2/3 olup yüzde olarak ve yuvarlandığında 67 verir. Aksi takdirde, 66 kullanır ve giriş çözünürlüğü xxhdpi = 96 * 96 ise, xhdpi = 63 * 63 elde edilir 64 * 64 yerine.
HaimS

Bulunamazsa dir oluşturmalıyız
Kishan Vaghela

Lütfen güncellenmiş komut dosyasını kontrol edin gist.github.com/Kishanjvaghela/8ec54f66c322d8d6940b4c0d1a58098d
Kishan Vaghela 14:17

Çok kullanışlı ve iyi çalışıyor. Sanırım sonunda bir fi eksik. 4.3.11
Mijo

Haklısın @Mijo, Kishan aslına bakarsanız, aptal ben kaldırdım
rdromao

23

DÜZENLE:

Web sitesinin adı artık appicon.co


Genellikle asset.codly.io kullanırım
Varlıkları tarayıcınızda yerel olarak oluşturur, yükleme yok, indirme yok.

resim açıklamasını buraya girin


Bu bir girdi olarak sadece "uygulama simgesi görüntüsü (1024x1024" kabul eder.
azaltıcı aktivite

2
@MateuszKonieczny Web sitesi güncellendi, Görüntülerin geri kalanı için Görüntü Kümeleri adı verilen görüntüler için başka bir sekme var.
A.Zidan

Android için sadece app simgesi yani manip oluşturmak Ayrıca çekilebilir simgeler oluşturmak
Nivrutti Pawar

Bu web sitesinde tasarım taban boyutunu seçin nedir ?? 3x veya 4x seçmeliyiz ??
K Pradeep Kumar Reddy

13

Yeni Android Studio'da bunu yapmanın kolay bir yolunu buldum:

resim açıklamasını buraya girin

resim açıklamasını buraya girin


KinhKohn, ve daha ne olacak? Başka bir kaynak seçebilir miyiz?
CoolMind

İstediğiniz herhangi bir görüntüyü yüklemek istiyorsanız, tarama seçeneğini kullanın.
Kohn1001

Evet çalışıyor. Ancak gerekli renk simgelerini sadece "Başlatıcı simgeleri" varlık türünde yapıyor gibi görünüyor. Böylece, bir başlatıcı simgesinin de yerini alır. Görüntüleri mipmap klasörlerine koyar.
CoolMind

1
Yalnızca bir simge eklemek istiyorsanız uygun olduğunu unutmayın.
etkinliği azaltma

8

Başlatıcı, ActionBar, Sekme simgeleri ve bildirim simgeleri gibi standart simgeler için Eclipse'de Android Icon Set adlı bir araç kullanıyorum. Dosya -> Yeni -> Diğer .. -> Android -> Android Simge Seti'nden başlatabilirsiniz. En iyi bölüm, bilgisayarınızdan herhangi bir dosyayı seçebilmenizdir ve standart boyutlardaki tüm görüntüleri otomatik olarak proje dizininize yerleştirir.

resim açıklamasını buraya girin


... ayrıca bu aracın web sitesi eşdeğerini de kullanabilirsiniz: android-ui-utils.googlecode.com/hg/asset-studio/dist/… (bu cevapta açıklanan araç daha iyidir, çünkü doğrudan Eclipse'e entegre edilmiştir ve simgeleri otomatik olarak doğru klasörlere yerleştirir).
Booger

"Genel simgeler" i destekliyor mu?
Ali Behzadian Nejad

Web aracı bunu destekliyor gibi görünüyor. Web'i de kullanmadım. Bu bağlantıyı kontrol edebilirsiniz: android-ui-utils.googlecode.com/hg/asset-studio/dist/…
Nitin Sethi

7
  1. Https://romannurik.github.io/AndroidAssetStudio/index.html adresini kullanmanız yeterlidir . Bir görüntüden bir dizi simge yapabilir, daha sonra bir zip dosyası indirebilirsiniz.
  2. Veya https://github.com/redwarp/9-Patch-Resizer/releases adresinden bir Windows uygulaması indirin (yüklemeniz gerekmez) ve bir simge açın.
  3. Ayrıca bir eklenti kullanabilirsiniz Android Drawable Importer, yukarıdaki cevaplara bakın. Terk edildiği için çatalları takın. Android Drawable Importer'ın neden AS 3.5 veya https://github.com/Vincent-Loi/android-drawable-importer-intellij-plugin'deki seçimi görmezden gelmesine bakın .
  4. https://appicon.co/#image-sets .

2
Android Drawable Importer'ın yazarı AWOL olmaktan çıkana kadar, daha sonraki Android stüdyo sürümleri için geçici bir kurulum zip'i çaldım .
Kötü Kaybeden

@BadLoser, konunuzu gördüm, teşekkürler! Bu eklentiyi nadiren kullanıyorum, bazı hatalar içeriyor, bu yüzden tekrar olursa çözümünüzü deneyecekler.
CoolMind

Evet - yazı kesinlikle bu eski şey için duvarda - ama AS Resource Manager hareketini tamamen temizleyene kadar değil!
Kötü Kaybeden

4

Android Studio Görüntü Varlığını Kullan

Şuraya git:

 Project>res --> right click

 new> image asset

Sonra ayarlayın:

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

Seçin: Sonraki> Son.

Now you will have your icon in the correct resolutions.

Görsel Örnek:

DÜZENLEME: SVG görüntülerini Vektör Çizilebilirleri oluşturmak için kullanmanızı ve ardından bunları doğru boyuta yeniden boyutlandırmak veya sadece DP'yi değiştirmek için bir tuvalde kullanmanızı öneririm.

Google'dan varsayılan simgeleri alabilir veya yalnızca kendi simgelerinizi oluşturabilirsiniz.

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

Sonra ayarlayın:

-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.

Seçin: Sonraki> Son.

Şimdi simgenize sahip olacaksınız ve boyut, renk vb. Değiştirebileceksiniz. resim açıklamasını buraya girin


2

Vector Asset Studio'yu Ölçeklenebilir Vektör Grafikleri (SVG) ile birlikte kullanma imkanı da vardır . Android Studio gerisini sizin için halledecek. Gibi resmi belgeler diyor ki:

Vector Asset Studio, malzeme simgeleri eklemenize ve Ölçeklenebilir Vektör Grafiği (SVG) dosyalarını uygulama projenize çekilebilir bir kaynak olarak içe aktarmanıza yardımcı olur. Raster görüntülerle karşılaştırıldığında, vektör çizilebilir resimler uygulamanızın boyutunu küçültebilir ve görüntü kalitesi kaybı olmadan yeniden boyutlandırılabilir. Farklı ekran boyutlarına ve çözünürlüklere sahip farklı Android cihazlarını daha kolay bir şekilde desteklemenize yardımcı olurlar, çünkü hepsinde çizilebilir bir vektör görüntüleyebilirsiniz.

Bunu gelecekteki yaklaşım olarak görüyorum.

Vector Asset Studio'nun menü girişi

Vector Asset Studio'nun ekran görüntüsü


2

PSD dosyasından ic_launcher png dosyaları oluşturmak için bir Photoshop komut dosyası yazdım. Sadece ic_launcher_exporter'ı kontrol edin .

Kullanmak için sadece indirin ve photoshop'tan komut dosyasını kullanın.

resim açıklamasını buraya girin

Çıktı dosyaları oluşturmak istediğiniz yeri yapılandırın.

resim açıklamasını buraya girin


1

% 100 otomatik değil, ancak Photoshop İşlemleri'ni kullanarak çok zaman kazanıyorum .

Örneğin, verilen xhdpivarlık, o zaman için bir görev oluşturmak hdpive mdpibu ölçekler% 66,66 ve sırasıyla 44.44% arasındadır. Sonra klasördeki tüm görüntüler için eylemleri çalıştırın xhdpi.

512x512 görüntüler için tek yapmanız gereken, xxhpi, xhdpi, hdpi ve mdpi elde etmek için görüntülerinizi yüzde kaç ölçeklendirmeniz gerektiğini hesaplamaktır.


0

Bu konuda bu şekilde çözüm kullanıyordum ve eklenti Android Drawable Importer ile çalışmak kolay

MacOS'ta Android Studio kullanıyorsanız u girmek için şu adımı deneyin:

  • Android Studio çubuğu menüsünü tıklayın ve ardından Tercihler'i seçin veya Command +,
  • Sonra Eklentileri seçin
  • Depolara göz at'ı tıklayın
  • Arama sütununa yaz Android Çekilebilir İthalatçı
  • Tıklayın Yükle düğmesini
  • Ve sonra Yeniden Başlat iletişim kutusu gösteriliyor, sadece yeniden başlatın Android Studio

Eklentiyi kurduktan sonra, bu eklentiyi çalıştırmak için Yeni menü oluştur'a tıklayın ve ardından Toplu Çekilebilir İçe Aktarma'yı seçin . Sonra artı düğmesini aka Ekle düğmesini tıklayın ve çekilebilir hale getirmek için dosyanızı seçin. Ve sonra sadece Tamam'ı tıklayın ve tamam çizilebilir hepsini hepsini yaptı.

Eğer benim sözüm karıştıysa, öğrenme makinesinden görüntü eğitimine bakın .


2
Hiçbir var Android Drawable Importerpiyasada eklenti artık. Android Asset Importer but it crashesAçmaya çalıştığımda denedim (Android Studio 3.6.1). Ben appicon.co
flawyte

-1

Android'de basit bir eklenti size yardımcı olacaktır Adım 1. Ayarlar Adım 2'ye gidin. Eklenti Adım 3'e tıklayın. Android Drawable Importer'ı arayın Adım 4. Eklentiyi yükleyin ve yeniden başlatın

Nasıl kullanılır?

Dosya> Yeni> Toplu Çizilebilir İçe Aktarma'ya gidin

Zevk almak


Hiçbir yok Android Drawable ImporterAndroid Studio pazarda artık eklentisi.
Micer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.