En yaygın iki resim biçimi türü raster ve vektör resimlerdir.
Bir raster grafik biçimi, renk içeren küçük kareler olan piksellerden oluşur (kırmızı, yeşil, mavi ve alfa değerlerinden oluşur). Çok sayıda pikseli bir araya getirdiğinizde fotoğraf gibi çok ayrıntılı bir görüntü oluşturabilirsiniz. Rastgele grafiklerin çözünürlüğü sabittir (piksel sayısı sabittir). Bu, görüntünün boyutunu büyüttüğünüzde ayrıntılarını kaybedeceği ve piksellerin görünebileceği anlamına gelir. Raster grafik biçimlerine örnek olarak JPEG, PNG ve WEBP verilebilir.

Vektör resimler ise ekrandaki bir görsel öğenin ölçeklenebilir matematiksel gösterimleridir. Vektör, görüntünün ekranda nasıl çizileceğini açıklayan bir komutlar kümesidir (ör. çizgi, nokta veya dolgu). Ekranda bir vektör ölçeklendirilirken matematiksel formül farklı komutlar arasındaki ilişkiyi koruyacağından kalite kaybı olmaz. ImageVector'a iyi bir örnek, matematiksel formüllerle tanımlanabilen Material Symbols'dür.

ImageBitmap
Compose'da, bir raster resim (genellikle Bitmap
olarak adlandırılır) bir ImageBitmap
örneğine yüklenebilir ve BitmapPainter
, bit eşlemi ekrana çizmekten sorumludur.
Basit kullanım alanlarında, painterResource()
kullanılabilir. Bu yöntem, ImageBitmap
oluşturur ve Painter
nesnesi (bu durumda BitmapPainter
) döndürür:
Image( painter = painterResource(id = R.drawable.dog), contentDescription = stringResource(id = R.string.dog_content_description) )
Daha fazla özelleştirmeye (ör. özel boyama
uygulaması) ihtiyacınız varsa ve ImageBitmap
öğesine erişmeniz gerekiyorsa aşağıdaki şekilde yükleyebilirsiniz:
val imageBitmap = ImageBitmap.imageResource(R.drawable.dog)
ImageVector
Bir VectorPainter
, ekrana ImageVector
çizmekle sorumludur.
ImageVector
, SVG komutlarının bir alt kümesini destekler. Tüm resimler vektör olarak gösterilemez (örneğin, kameranızla çektiğiniz fotoğraflar vektöre dönüştürülemez).
Mevcut bir vektör çizilebilir XML dosyasını (içe aktarma aracı kullanılarak Android Studio'ya aktarılır) içe aktararak veya sınıfı uygulayıp yol komutlarını manuel olarak vererek özel bir ImageVector
oluşturabilirsiniz.
Basit kullanım alanlarında, painterResource()
işlevi ImageBitmap
sınıfı için nasıl çalışıyorsa ImageVectors
için de aynı şekilde çalışır ve sonuç olarak VectorPainter
değerini döndürür. painterResource()
, VectorDrawables
ve BitmapDrawables
öğelerinin sırasıyla VectorPainter
ve BitmapPainter
içine yüklenmesini sağlar. 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ştirme yapmanız gerekiyorsa ve ImageVector
öğesine erişmeniz lazımsa aşağıdaki şekilde yükleyebilirsiniz:
val imageVector = ImageVector.vectorResource(id = R.drawable.baseline_shopping_cart_24)
Sizin için önerilenler
- Not: JavaScript kapalıyken bağlantı metni gösterilir.
- Özel boya hizmeti {:#custom-painter}
- Oluşturma modundaki kaynaklar
- Resim yükleme {:#loading-images}