Flutter’da Image Widget Kullanımı

Flutter’da Image widget, adından da anlaşılacağı üzere farklı kaynaklardan ve biçimlerden görselleri görüntülemek için kullanılır. Flutter’da esteklenen görüntü biçimleri JPEG, PNG, GIF, hareketli GIF, WebP, hareketli WebP, BMP ve WBMP formatlarıdır.

Image Widget

Aşağıdaki özellikleri nedeniyle Text widget veya Icon widget gibi diğer temel widget’lardan biraz daha karmaşık bir kullanıma sahiptir:

  • Görüntü kaynağını alma

Görüntü kaynağı, uygulamanın kendisine bizzat kullanıcı tarafından gömülü olarak eklenir veya internet’ten link ekleyerek oluşturulan bir görüntü olabilir.

  • Boyutlandırma

Ayrıca boyut ve şekline göre görselin ölçeklenmesi de oldukça önemlidir.

Gömülü Görseller (Embedded Images)

Gömülü görseller daha hızlı olmakla beraber uygulamanızın yükleme boyutunu da artıracaktır. Ancak, uygulamanızın logosu gibi uygulamanızın ömrü boyunca asla değişmeyecek bir görsel kullancaksanız, görselinizi gömülü olarak kullanmalısınız.

Görseli uygulamanıza gömmek ve karışıklığı önlemek adına öncellikle assets ya da images adında bir dosya oluşturun. İçine dilediğiniz görselleri ekledikten sonra pubspec.yaml dosyasına gidip yorum içinde bulunan assets dosyasını ve içindekileri yorumdan kaldırın.

Bunu yapmak için kısayol olarak ilgili satırları fareyle seçip CTRL K ve ardından da CTRL U tuşuna basmak işe yarayacaktır:

Flutter’da Image Widget

Sonrasında ise varsayılan olarak gelen görselleri silip aşağıdaki haline getirelim:

Ardından dosyayı kaydedip ve projenizin dosyayı işlemesini sağlaması adına komut satırından “flutter pub get” komutunu çalıştırın.

Projemizde gömülü görseli kullanmak için aşağıdaki kodları kullanabiliriz:

Ağ Görselleri (Network Images)

Ağ görselleri tahimn edebileceğiniz üzere HTTP aracılığıyla internet üzerinden görüntü yüklenmesini sağlar.

Haliyle, bunlar gömülü görsellerden daha yavaştır. Zira internet üzerinden bir sunucuya gönderilirken ve resim cihazınız tarafından indirilirken bir gecikme olur. Avantajı ise bu görüntülerin canlı olmasıdır. Yani herhangi bir resmin sadece URL’si girilerek dinamik bir şekilde yüklenebilir.

Görsel Boyutlandırma (Sizing an Image)

Malum yüklenilen görsel sahip olduğu boyutlarla yüklenmektedir. Flutter’ın yerleşim motoru, görüntüyü içine konuladuğu şeye (container vb.) sığdırmak için küçültür, ancak büyütmez.

Bu uyum BoxFit olarak adlandırılır. Ancak başka hangi seçenekler mevcut ve hangisini kullanacağımıza nasıl karar vereceğiz diyorsanız aşağıdaki görsel yardımcı olacaktır:

  • fill: Hem genişlik hem de yükseklik tam olarak oturacak şekilde görsel gerilir. Haliyle orjinal boyutları deforme olur.
  • cover: Boşluk dolana kadar resmin boyutunda küçültme veya büyültme olur. Orjinal boyutun üst/alt veya yanları kırpılır.
  • fitHeight: Yüksekliği tam olarak sığdırır. Genişliği kırpar veya gerektiğinde fazladan boşluk eklenir.
  • fitWidth: Genişliği tam olarak sığdırır. Yüksekliği kırpar veya gerektiğinde fazladan boşluk eklenir.
  • contain: Hem yükseklik hem de genişlik oturana kadar sığdırır. Haliyle hangisi küçükse o sığar. Üstte/altta veya yanlarda fazladan boşluk olabilir.

Yukarıdaki bilgiler ışığında kullanacağımız görseli bir container içine yerleştirebiliriz.

Flutter'da Image Widget Boyutlandırma

Çıktı:

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu