En yaygın iki resim biçimi türü, kafes ve vektör resimlerdir.
Kafes grafik biçimi pikseller içerir: Renk içeren küçük, bağımsız kareler (kırmızı, yeşil, mavi ve alfa değerlerinden oluşur). Çok sayıda pikseli bir araya getirirken, fotoğraf gibi çok ayrıntılı bir resim oluşturulabilir. Raster grafiğinin çözünürlüğü sabittir (sabit sayıda piksel). Bu, resmin boyutunu artırdığınızda ayrıntıların kaybedilebileceği ve pikselleşmenin meydana gelebileceği anlamına gelir. Kafes grafik biçimlerine örnek olarak JPEG, PNG ve WEBP verilebilir.
Diğer yandan, vektör resimler ekrandaki görsel öğelerin ölçeklenebilir matematiksel gösterimleridir. Vektör, ekrandaki resmin (çizgi, nokta veya dolgu gibi) nasıl çizileceğini açıklayan bir komut dizisidir. Ekrandaki bir vektörü ölçeklendirirken, matematiksel formül farklı komutlar arasındaki ilişkiyi koruyacağı için kaliteyi kaybetmez. ImageVector'a iyi bir örnek olarak, tümü matematiksel formüllerle tanımlanabileceğinden Malzeme Sembolleri verilebilir.
ImageBitmap
Compose'da kafes resim (genellikle Bitmap
olarak adlandırılır) ImageBitmap
örneğine yüklenebilir. Bit eşlemi ekrana çizmekten de BitmapPainter
sorumludur.
Basit kullanım alanlarında painterResource()
kullanılabilir. Böylece ImageBitmap
oluşturulur ve Painter
nesnesi (bu örnekte BitmapPainter
) döndürülür:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Daha fazla özelleştirmeye (ör. özel boyacı uygulaması) ihtiyacınız varsa ve ImageBitmap
'a erişmeniz gerekiyorsa şablonu aşağıdaki şekilde yükleyebilirsiniz:
val imageBitmap = ImageBitmap.imageResource(R.drawable.dog)
ImageVector
VectorPainter
, ekrana bir ImageVector
çizmekten sorumludur.
ImageVector
, SVG komutlarının bir alt kümesini destekler. Tüm resimler vektör olarak temsil edilemez (örneğin, kameranızla çektiğiniz fotoğraflar vektöre dönüştürülemez).
Mevcut bir vektör çekilebilir XML dosyasını içe aktararak (içe aktarma aracı kullanılarak Android Studio'ya içe aktarılır) veya sınıfı uygulayıp yol komutlarını manuel olarak vererek özel bir ImageVector
oluşturabilirsiniz.
Basit kullanım alanlarında, painterResource()
özelliğinin ImageBitmap
sınıfı için çalışma şekline benzer şekilde, ImageVectors
için de geçerlidir ve sonuç olarak bir VectorPainter
döndürülür. painterResource()
, VectorDrawables
ve BitmapDrawables
öğelerinin VectorPainter
ve BitmapPainter
içine yüklenmesini sırasıyla yönetir. Bir resme VectorDrawable
yüklemek için şunu kullanın:
Image( painter = painterResource(id = R.drawable.baseline_shopping_cart_24), contentDescription = stringResource(id = R.string.shopping_cart_content_desc) )
Daha fazla özelleştirmeye ihtiyacınız varsa ve ImageVector
cihazına erişmeniz gerekiyorsa aşağıdaki şekilde yükleyebilirsiniz:
val imageVector = ImageVector.vectorResource(id = R.drawable.baseline_shopping_cart_24)
Sizin için önerilenler
- Not: Bağlantı metni JavaScript kapalıyken görüntülenir
- Özel boyacı {:#custom-painter}
- Oluşturulan Kaynaklar
- Resimler yükleniyor {:#loading-images}