• Sushi Cam Uygulamam Google Play’de

    Sushi Cam Uygulamam Google Play’de

    undefined Arka Planda Neler Oluyor? Teknik Bir Bakış Sushi Cam sadece basit bir filtre uygulaması değil; arkasında Android’in görüntü işleme yeteneklerini sonuna kadar zorlayan bir mühendislik yatıyor. Uygulamayı geliştirirken ana odak noktamız, kullanıcıya gecikmesiz ve yüksek kaliteli bir görsel deneyim sunmaktı. Bunun için Android’in düşük seviyeli grafik kütüphanelerinden yararlandık. Bitmap İşlemleri ve Canvas API İki…

Sushi Cam Uygulamam Google Play’de

undefined

Arka Planda Neler Oluyor? Teknik Bir Bakış

Sushi Cam sadece basit bir filtre uygulaması değil; arkasında Android’in görüntü işleme yeteneklerini sonuna kadar zorlayan bir mühendislik yatıyor. Uygulamayı geliştirirken ana odak noktamız, kullanıcıya gecikmesiz ve yüksek kaliteli bir görsel deneyim sunmaktı. Bunun için Android’in düşük seviyeli grafik kütüphanelerinden yararlandık.

Bitmap İşlemleri ve Canvas API

İki fotoğrafı üst üste bindirmek (double exposure) dışarıdan bakıldığında kolay görünse de, bellek yönetimi ve piksel bazlı işlemler işin içine girdiğinde durum karmaşıklaşıyor. Uygulamanın kalbinde Canvas API ve Bitmap sınıfları yer alıyor.

  • Layering: Her iki fotoğrafı da BitmapFactory ile optimize ederek bellek dostu bir şekilde yüklüyoruz.
  • PorterDuff Mode: Fotoğrafların nasıl birleşeceğini (Multiply, Screen, Overlay) belirlemek için PorterDuff.Mode parametrelerini kullandık.
  • Matrix Dönüşümleri: Fotoğrafların boyutlarını ve açılarını senkronize etmek için Matrix sınıfı ile ölçeklendirme işlemlerini gerçekleştirdik.

Renk Efektleri ve Gradient Filtrelerin Matematiği

Sushi Cam’deki o nostaljik ve sanatsal hava, aslında tamamen “Color Matrix” manipülasyonu. Her filtre, görüntünün RGBA değerlerini değiştiren birer ColorMatrix nesnesinden oluşuyor. Örneğin, sıcak bir ton yakalamak için kırmızı (R) kanalının katsayılarını artırırken, gradient geçişleri için LinearGradient ve SweepGradient sınıflarını Shader olarak kullandık.

ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
paint.setColorFilter(filter);
canvas.drawBitmap(bitmap, 0, 0, paint);

Geliştirme Sürecinde Karşılaşılan Zorluklar

Her geliştirme sürecinde olduğu gibi Sushi Cam de kendi zorluklarıyla geldi. En büyük baş ağrımız OutOfMemory (OOM) hatalarıydı. Yüksek çözünürlüklü iki fotoğrafı aynı anda bellekte tutup işlemek, özellikle giriş seviyesi cihazlarda uygulamayı çökertebiliyordu. Bu sorunu inSampleSize kullanarak görüntüleri ölçekli yükleyerek ve işlem bittiğinde bitmap.recycle() metodunu manuel çağırarak aştık.

Google Play Serüveni

Uygulamayı Google Play’e yükleme süreci, teknik geliştirmeden ziyade bir sabır testi gibiydi. Google’ın güncellediği uygulama güvenliği ve veri gizliliği formlarını doldurmak artık kod yazmaktan daha uzun sürüyor. Ayrıca, Android 13 ve 14 ile gelen yeni medya izinleri (READ_MEDIA_IMAGES) için uygulamayı optimize etmek, yayın öncesi yaptığımız en son ama en kritik dokunuştu.

Gelecekte Bizi Neler Bekliyor?

  • AI Destekli Nesne Ayırma: Yapay zeka kullanarak ön plandaki nesneyi otomatik algılayıp sadece ona efekt verme.
  • Gerçek Zamanlı Filtreler: Fotoğrafı çekmeden önce gradient geçişlerini vizörde görebilme.
  • Video Desteği: Aynı çift pozlama mantığını kısa videolara entegre etme.

Yorumlar

“Sushi Cam Uygulamam Google Play’de” için 2 yanıt

  1. Dostum yaptığın işleri gerçekten beğeniyorum bende fırat üni 2.Sınıf öğrencisiyim ve seninle tanışmak isterim .

    1. muzafferkadir avatarı
      muzafferkadir

      Aslen Elazığlıyım. Tatillerde oradayım. Twitter kullanıcı adım @muzafferkadir iletişime geçersen ben de tanışmaktan memnun olurum.

Bir yanıt yazın

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