Intereting Posts

Ужасное изображение растрового изображения ImageView?

У меня есть заставка с ImageView играющим часть фона. Независимо от того, разрешаю ли я растровое изображение масштабировать (что я делаю), качество изображения ужасно. Я думаю, что это уменьшает глубину цвета. Я уже огляделся вокруг, и одно предложение заключалось в том, чтобы поместить мой образ в raw а не с возможностью drawable но это тоже не помогло. Вот скриншот:

Введите описание изображения здесь

Что именно происходит здесь и как это исправить?

EDIT: я не применял это растровое изображение программно, поэтому нет соответствующего Java-кода. Вот код XML для этого действия:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/RelativeLayoutSplash" android:layout_width="match_parent" android:layout_height="match_parent" android:drawingCacheQuality="high" android:orientation="vertical" android:padding="@dimen/splash_padding" android:scrollbarAlwaysDrawVerticalTrack="true" tools:context=".SplashActivity" > <ImageView android:id="@+id/ImageViewBg" android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@string/logo_description" android:scaleType="centerCrop" android:src="@drawable/splash_bg_register" /> <ImageView android:id="@+id/ImageViewLogo" android:layout_width="match_parent" android:layout_height="wrap_content" android:contentDescription="@string/logo_description" android:maxHeight="@dimen/logo_maxheight" android:maxWidth="@dimen/logo_maxwidth" android:layout_centerVertical="true" android:src="@drawable/logo" /> <TextView android:id="@+id/TextViewCopyright" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:text="@string/copyright" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="@color/white_50" android:textSize="@dimen/copyright_size" /> </RelativeLayout> 

EDIT: Я попытался getWindow().setFormat(PixelFormat.RGBA_8888); Как было предложено, что имело заметную разницу, но полоса все еще присутствует. Это изображение, которое я использую в качестве фона.

Solutions Collecting From Web of "Ужасное изображение растрового изображения ImageView?"

Перевязка происходит в основном, когда пропорции изображения нарушены.

Вы можете попробовать любое из следующих действий:

  1. Сделайте свое изображение .9.png . В этом случае он автоматически фиксирует любые участки и ухаживает за обвязкой.

  2. Примените поверхностное сглаживание к вашему изображению, которое может помешать любому необычному диапазону.

     <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/b1" android:tileMode="repeat" android:dither="true" /> 

Каковы размеры вашего изображения? И что это за устройство? Я подозреваю, что размер изображения не соответствует размеру дисплея, и он находится в неправильной папке с ресурсом. Изображение выглядит довольно масштабированным. Эти статьи помогут вам выбрать разрешение изображения и папку ресурсов для разных экранов.

http://developer.android.com/guide/practices/screens_support.html

http://developer.android.com/training/multiscreen/index.html

Вы должны установить цветной формат окна. В вашей деятельности добавьте что-то вроде этого:

 getWindow().setFormat(PixelFormat.RGBA_8888); 

Я предполагаю, что размер изображения меньше площади, в которой отображается изображение. Таким образом, может быть изображение масштабируется и теряется качество.

 What you can try is: 1. Either put the image of similar dimension 2. use 9 patch image ( good idea ) 

Вам нужно изменить размер изображения на разные размеры и поместить их в соответствующие доступные папки под res/

Попробуйте antialias, это может решить вашу проблему.

Создайте растровое изображение с помощью xml.

 <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/background" android:antialias="true" android:dither="true" /> 

То, что вы делаете, – это установить образ в xml, который намного больше зависит от того, для чего поддерживает разрешение этого изображения.

Существует несколько папок для каждой поддерживаемой плотности нескольких устройств, поместите свое изображение в подходящую папку с разрешением dpi.

Пожалуйста, обратитесь к этой ссылке http://developer.android.com/guide/practices/screens_support.html

См. Тот же значок приложения, как неуверенно ведут себя в разных папках

Пример применения без поддержки разных плотностей, как показано на экранах с низкой, средней и высокой плотностью

Пример приложения без поддержки разных плотностей, как показано на экранах с низкой, средней и высокой плотностью.

Введите описание изображения здесь

Пример приложения с хорошей поддержкой для разных плотностей (он не зависит от плотности), как показано на экранах с низкой, средней и высокой плотностью.

Просто настройте его, сделав изображение фоновым изображением. Вот пример кода

  <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/your_image" />