Android Çökerten Manzara Fotoğrafı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    C10H15N
    C10H15N's avatar
    Kayıt Tarihi: 10/Şubat/2014
    Homo
    blackhammer bunu yazdı
    C10H15N bunu yazdı

    Allah belasını versin bu fotoğrafın 1 saattir. bununla uğraşıyorum telefonu kapata basınca yaklaşık 10 saniye her şey düzeliyor.  o arada zorla duvar kağıdını değiştirebildim ama benim için ölüm oldu. 20 - 30 kere denemişimdir yetişmek için

    Deneyenler telefon markasi android surumunu yazsa biz de yorulmasak

    Samsung A9 Android 10

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bilirkişi
    mkyb
    mkyb's avatar
    Kayıt Tarihi: 27/Mayıs/2011
    Erkek
    C10H15N bunu yazdı
    blackhammer bunu yazdı
    C10H15N bunu yazdı

    Allah belasını versin bu fotoğrafın 1 saattir. bununla uğraşıyorum telefonu kapata basınca yaklaşık 10 saniye her şey düzeliyor.  o arada zorla duvar kağıdını değiştirebildim ama benim için ölüm oldu. 20 - 30 kere denemişimdir yetişmek için

    Deneyenler telefon markasi android surumunu yazsa biz de yorulmasak

    Samsung A9 Android 10


    Yaşlandıkça 50 liralık saatin ve 5.000 liralık saatin aynı şeyi gösterdiğini fark edeceksin. 1.000.000 liralık ve 100.000 liralık ev aynı yalnızlığı barındırır. 1.000 liralık Android ile 20.000 liralık iPhone Pro kimse aramadıktan sonra aynıdır. Materyalist şeylerde gerçek mutluluk bulunmaz. Asıl mutluluk bir çift memededir. Enflasyon yüzünden bu imzayı bir ara güncellemek lazım. Bin liraya telefon kalmadı. :(
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    /** Okumayı lüks görenler için daha teknik açıklama

         Not: Daha önce verdiğim bağlantılardan derlenmiştir. Detaylı anlatım bana aittir, hatalar olabilir.

         Şayet görüntü işleme ile uğraşmayalı uzun zaman oldu.

    */

    İlgili kaynak kod: https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageProcessHelper.java;bpv=1;bpt=0 

    Satır 134

    int[] histogram = new int[256];
                for (int row = 0; row < height; row++) {
                    for (int col = 0; col < width; col++) {
                        int pixel = grayscale.getPixel(col, row);
                        int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);
                        histogram[y]++;
                    }
                }
    

    RGB bir görüntüde her bir pikselin (görüntüyü oluşturan herbir noktaya piksel denir) 3 bileşeni vardır. Bunlar R (kırmızı), G (yeşil), B (mavi) renklerinin parlaklıklarını saklar. Bir görüntünün histogramını (değerlerin yineleme sıklığını) alacağımız zaman önce görüntüyü gri tonlamaya çeviririz (RGB renk uzayı bu iş için çok karmaşıktır, mesela bizim gözümüz için 255,255,254 ile 255,220,250 aynı rengi ifade edebilir fakat matematiksel olarak birbirinden oldukça uzaktır) ve RGB kanallarından tek bir parlaklık değeri elde ederiz. Bunun aralalığı da 0-255'dir yani 8 bit (daha büyük, küçük de olabilir, yukarıdaki kod parçasını ele alıyoruz). Normalde yukarıdaki koddaki y değeri  hiçbir zaman 255 değerini geçemez, 0'dan küçük olamaz (0'dan küçük indeks mi olur diyenin gözlerinden öpüyorum, Java'da olmaz fakat C/C++'ta olur). O görüntüdeki bir hatadan dolayı y değeri aralığın dışına çıkıyor (atıyorum 256, zaten 255'i geçtiği an java sanal makinesi, tamam art de dalvik de, istisna fırlatır geçersiz indis diye).

    Bu görüntü özel (renk profili görüntü dosyası içerisine gömülü). Bu ve bunun gibi yüzbinlerce çöktürücü görüntü üretilip telefonlarınız emcüklenebilir. Eski sürümlere yama gelmeyeceğine göre dikkatli olmakta fayda var.

    Neden sadece duvar kağıdı sorusuna gelince, buglı kod burada çünkü. Yani olay görüldüğü gibi amoled değil, ilgili servisin sürekli istisna fırlatarak çökmesi. AOSP için yine bağlantılardan verilen çözüm

    if (y > 255) {y = 255;} gibi yanlış yerde uygulanacak yanlış bir çözüm. Yukarıdaki kodda bir problem yok aslında. Problem en baştan renkli görüntüyü gri tonlamalı görüntüye çeviren parçanın gelen veriyi denetlememesi.

    Android 4.0 kullandığım için bende sıkıntı yok:)


    Olaylara karışmayın!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek
    YeniHarman bunu yazdı

    /** Okumayı lüks görenler için daha teknik açıklama

         Not: Daha önce verdiğim bağlantılardan derlenmiştir. Detaylı anlatım bana aittir, hatalar olabilir.

         Şayet görüntü işleme ile uğraşmayalı uzun zaman oldu.

    */

    İlgili kaynak kod: https://cs.android.com/android/platform/superproject/+/master:frameworks/base/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageProcessHelper.java;bpv=1;bpt=0 

    Satır 134

    int[] histogram = new int[256];
                for (int row = 0; row < height; row++) {
                    for (int col = 0; col < width; col++) {
                        int pixel = grayscale.getPixel(col, row);
                        int y = Color.red(pixel) + Color.green(pixel) + Color.blue(pixel);
                        histogram[y]++;
                    }
                }
    

    RGB bir görüntüde her bir pikselin (görüntüyü oluşturan herbir noktaya piksel denir) 3 bileşeni vardır. Bunlar R (kırmızı), G (yeşil), B (mavi) renklerinin parlaklıklarını saklar. Bir görüntünün histogramını (değerlerin yineleme sıklığını) alacağımız zaman önce görüntüyü gri tonlamaya çeviririz (RGB renk uzayı bu iş için çok karmaşıktır, mesela bizim gözümüz için 255,255,254 ile 255,220,250 aynı rengi ifade edebilir fakat matematiksel olarak birbirinden oldukça uzaktır) ve RGB kanallarından tek bir parlaklık değeri elde ederiz. Bunun aralalığı da 0-255'dir yani 8 bit (daha büyük, küçük de olabilir, yukarıdaki kod parçasını ele alıyoruz). Normalde yukarıdaki koddaki y değeri  hiçbir zaman 255 değerini geçemez, 0'dan küçük olamaz (0'dan küçük indeks mi olur diyenin gözlerinden öpüyorum, Java'da olmaz fakat C/C++'ta olur). O görüntüdeki bir hatadan dolayı y değeri aralığın dışına çıkıyor (atıyorum 256, zaten 255'i geçtiği an java sanal makinesi, tamam art de dalvik de, istisna fırlatır geçersiz indis diye).

    Bu görüntü özel (renk profili görüntü dosyası içerisine gömülü). Bu ve bunun gibi yüzbinlerce çöktürücü görüntü üretilip telefonlarınız emcüklenebilir. Eski sürümlere yama gelmeyeceğine göre dikkatli olmakta fayda var.

    Neden sadece duvar kağıdı sorusuna gelince, buglı kod burada çünkü. Yani olay görüldüğü gibi amoled değil, ilgili servisin sürekli istisna fırlatarak çökmesi. AOSP için yine bağlantılardan verilen çözüm

    if (y > 255) {y = 255;} gibi yanlış yerde uygulanacak yanlış bir çözüm. Yukarıdaki kodda bir problem yok aslında. Problem en baştan renkli görüntüyü gri tonlamalı görüntüye çeviren parçanın gelen veriyi denetlememesi.

    Android 4.0 kullandığım için bende sıkıntı yok:)

    yani mevzu o kodu yazan elemanın üşengeçliğimi :D


    |sadece aptalların başarısı ders notu ile ölçülür|
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    engin01288
    engin01288's avatar
    Kayıt Tarihi: 11/Haziran/2015
    Erkek

    Ben android emulatörde denetim. Pixel 3 android 9 ile denedim. Olmadı. Samsung Galaxy S9 ile android 8 sürümünde denedim yine olmadı.

    Emulatörde yemiyormuş demekki :)

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yustang
    yustang's avatar
    Kayıt Tarihi: 03/Ocak/2012
    Erkek
    engin01288 bunu yazdı

    Ben android emulatörde denetim. Pixel 3 android 9 ile denedim. Olmadı. Samsung Galaxy S9 ile android 8 sürümünde denedim yine olmadı.

    Emulatörde yemiyormuş demekki :)

    hocam hangi emulatör:)


    HAYATTAKİ PÜRÜZLERİ EKSİK OLAN KISIMLARINI TAMAMLAMAK İÇİN KULLAN. O ZAMAN HAYAT DAHA KULLANIŞLI VE GENİŞ OLUR.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Gastarbeiter
    ExcaliburTBT
    ExcaliburTBT's avatar
    Kayıt Tarihi: 06/Aralık/2005
    Erkek
    C10H15N bunu yazdı

    Allah belasını versin bu fotoğrafın 1 saattir. bununla uğraşıyorum telefonu kapata basınca yaklaşık 10 saniye her şey düzeliyor.  o arada zorla duvar kağıdını değiştirebildim ama benim için ölüm oldu. 20 - 30 kere denemişimdir yetişmek için

    Yanacagini bile bile taşağina kolonya dökmekle eş değer bu yaptigin :D 

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    C10H15N
    C10H15N's avatar
    Kayıt Tarihi: 10/Şubat/2014
    Homo
    ExcaliburTBT bunu yazdı
    C10H15N bunu yazdı

    Allah belasını versin bu fotoğrafın 1 saattir. bununla uğraşıyorum telefonu kapata basınca yaklaşık 10 saniye her şey düzeliyor.  o arada zorla duvar kağıdını değiştirebildim ama benim için ölüm oldu. 20 - 30 kere denemişimdir yetişmek için

    Yanacagini bile bile taşağina kolonya dökmekle eş değer bu yaptigin :D 

    İnsan bir fotoğrafın telefonu bu kadar sapıttırabileceğine inanamıyor.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    engin01288
    engin01288's avatar
    Kayıt Tarihi: 11/Haziran/2015
    Erkek
    yustang bunu yazdı
    engin01288 bunu yazdı

    Ben android emulatörde denetim. Pixel 3 android 9 ile denedim. Olmadı. Samsung Galaxy S9 ile android 8 sürümünde denedim yine olmadı.

    Emulatörde yemiyormuş demekki :)

    hocam hangi emulatör:)

    Genymotion Desktop 

    https://www.genymotion.com/

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Bilirkişi
    mkyb
    mkyb's avatar
    Kayıt Tarihi: 27/Mayıs/2011
    Erkek

    https://www.youtube.com/watch?v=IpLZCntXHE0


    Yaşlandıkça 50 liralık saatin ve 5.000 liralık saatin aynı şeyi gösterdiğini fark edeceksin. 1.000.000 liralık ve 100.000 liralık ev aynı yalnızlığı barındırır. 1.000 liralık Android ile 20.000 liralık iPhone Pro kimse aramadıktan sonra aynıdır. Materyalist şeylerde gerçek mutluluk bulunmaz. Asıl mutluluk bir çift memededir. Enflasyon yüzünden bu imzayı bir ara güncellemek lazım. Bin liraya telefon kalmadı. :(
Toplam Hit: 3692 Toplam Mesaj: 22
hep ayfon mu kodla çökecek biraz android çöksün