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 piksel bir araya getirildiğinde fotoğraf gibi çok ayrıntılı bir görüntü oluşturulabilir. Rastgele grafiklerin çözünürlüğü sabittir (piksel sayısı sabittir). Bu nedenle, görüntünün boyutunu büyüttüğünüzde ayrıntılar kaybolur ve pikseller bozulabilir. 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 örnekte 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(), ImageVectors için ImageBitmap sınıfında olduğu gibi ç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 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: JavaScript kapalıyken bağlantı metni gösterilir.
- Özel boya hizmeti {:#custom-painter}
- Compose'daki kaynaklar
- Resim yükleme {:#loading-images}