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ı kaybı yaşanacağı 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 grubudur (ör. çizgi, nokta veya dolgu). Ekranda bir vektör ölçeklendirilirken matematiksel formül farklı komutlar arasındaki ilişkiyi koruduğu için kalite kaybı olmaz. ImageVector
için iyi örnekler, matematiksel formüllerle tanımlanabildikleri için 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.
Temel kullanım alanlarında, painterResource()
işlevi ImageBitmap
oluşturmak için kullanılabilir 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
çizmekten sorumludur.
ImageVector
, Ölçeklenebilir Vektör Grafiği (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.
Temel kullanım alanlarında painterResource()
, ImageBitmap
sınıfında olduğu gibi ImageVectors
için de çalışır ve sonuç olarak VectorPainter
döndürür. painterResource()
, VectorDrawables
ve BitmapDrawables
öğelerinin sırasıyla VectorPainter
ve BitmapPainter
içine yüklenmesini sağlar. Bir VectorDrawable
öğesini resme 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
öğesine 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österilir.
- Özel boya hizmeti {:#custom-painter}
- Compose'daki kaynaklar
- Resim yükleme {:#loading-images}