Schreckliche Hintergrundbildqualität in Android

Ich versuche, einen Hintergrund in meine Tätigkeit zu stellen, aber die Bildqualität ist nicht zu erwarten.

Das Bild hat einen einfachen Gradienten über blauen Streifen und sieht derzeit so aus:

  • MediaStore.EXTRA_OUTPUT macht Daten null, andere Möglichkeit, Fotos zu speichern?
  • Kalender und Ereignisse in Android hinzufügen 2.2
  • Wie kann man das Berührungsereignis der Kindansicht in der Berührungseinrichtung der Elternansicht verbrauchen?
  • JSONObject aus JSONArray holen
  • Android Webview Unbekannter Fehler
  • Member-Variablen vs setArguments in Fragments
  • LinearLayout Hintergrund

    Mein Aktivitätslayout:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="@drawable/background_register" android:drawingCacheQuality="high" > </LinearLayout> 

    Der Hintergrunddeskriptor ( drawable/background_register ):

     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:antialias="true" android:dither="true" android:filter="true" android:tileMode="repeat" android:gravity="center" android:src="@drawable/background_blue_565" /> 

    Momentan habe ich eine XML-Datei, die ein BitmapDrawable beschreibt, welches der lineareLayout-Hintergrund der actitivy ist. Aber ich habe alles versucht, was ich bisher gefunden habe. Aktiviert Dither, Antialias, Fliesen, RGBA_8888 Modi … Sie nennen es. Hat jemand eine andere Lösung oder Idee, die ich probieren könnte? Ich wäre sehr dankbar.

    Btw, ich bin derzeit die Entwicklung der App in einer Galaxy S II.

  • Android :: Wie man das Thema von anderen apk programmgesteuert ändert
  • ViewPager mit WebView ermöglicht das Swiping und das Verbot des Scrollens von WebView
  • Android: Lesen von XML aus lokaler Ressource (zum Testen)
  • RecyclerView TextView Farbe des Textes geändert
  • ProGuard: kann nicht referenzierte Klasse com.google.android.gms.R finden
  • Minimale Google Play Services Version für Push Notification
  • 3 Solutions collect form web for “Schreckliche Hintergrundbildqualität in Android”

    Zuerst einmal stellen Sie sicher, dass Ihr Original-Bild gut aussieht, so dass Sie nicht nur das Problem von dort bekommen.
    Dann in deiner onCreate () -Methode:

    Code1:

     getWindow().getDecorView().getBackground().setDither(true); getWindow().setFormat(PixelFormat.RGBA_8888); 

    Veraltet:

    GetWindow () addFlags (WindowManager.LayoutParams.FLAG_DITHER);

    Und um Ihr Bild explizit als 32-Bit-Bild zu laden (RGBA-8888-Konfiguration) fügen Sie die folgenden, wo Sie Ihre Ansichten laden:

    Code2:

     BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.ARGB_8888; Bitmap gradient = BitmapFactory.decodeResource(getResources(), R.drawable.gradient, options); findViewById(R.id.main).setBackgroundDrawable(new BitmapDrawable(gradient)); 

    Vergleich zwischen verschiedenen Ansätzen: (das sind alle Screenshots aus der resultierenden Applikation)

    Meine Quellbilder (64 Farben nach links, 24 Bit nach rechts):
    Image1 und image2:
    64-farbig24 bit
    1: Raw 64-color image (image1) als Hintergrund aus Layout XML gesetzt:
    Rohes Bild
    2: Das gleiche Bild (Bild 1), mit Code1 :
    Dithered Bild
    3: Das gleiche Bild (Bild 1) mit Code1 und Code2 :
    Explizit 32bit
    4: image2, geladen mit code1 und code2 (in diesem Fall ist das Dithering nicht wirklich wichtig, da sowohl die Quell- als auch die Ziel-Nutzung 8 Bits pro Farbe):
    Höhere ursprüngliche Qualität

    Beachten Sie, wie die resultierenden Artefakte in Bild 3 bereits im Originalbild vorhanden sind.

    Anmerkung: Wenn jemand weiß, wie man die Bilder ein bisschen schrumpft, fühlen Sie sich frei, diesen Beitrag zu bearbeiten …

    Das Problem ist, dass Ihr PNG in 256 Farben umgewandelt wurde, öffnen Sie Ihre APK in Ihrem ZIP-Tool der Wahl und überprüfen Sie manuell. Wenn das der Fall ist, stellen Sie sicher, dass Ihr PNG hat:

    1. Ein Alphakanal
    2. Ein Pixel, das etwas transparent ist

    Dies sollte verhindern, dass es in eine indizierte Palette umgewandelt wird.

    Es sieht aus wie ein Bildausgabe an mich. Was ist die Einstellung, die Sie das Bild und das Format speichern? Es sieht aus wie Kompressionsartefakte von wo ich hinsehe.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.