4 ответов:
растровое изображение-это представление растрового изображения (что-то вроде java.ОУ.Изображение.) Рисование-это абстракция "чего-то, что можно нарисовать". Это может быть растровое изображение (завернутое как
BitmapDrawable), но это также может быть сплошной цвет, коллекцию других объектов мешочки, или любое количество других структур.большинство платформа пользовательского интерфейса Android любит работать с рисуемых объектов, а не растровыми объектами. Вид может принимать любое рисование в качестве фона. В ImageView отображение передний план рисуется. Изображения хранятся как ресурсы загружаются как рисуемых объектов.
Drawable-это то, что можно нарисовать. Например, макет, векторное изображение (линия, круг), шрифт, изображение и так далее
растровое изображение-это определенный тип рисуемого изображения, например: PNG, JPEG или так
Drawable Resource
A
Drawableресурс-это общая концепция для графики, которая может быть нарисована на экране и которую вы можете получить с помощью API, таких какgetDrawable(int)или применить к другому XML-ресурсу с такими атрибутами, какandroid:drawableиandroid:icon. Существует несколько различных типов чертежей:
Bitmap-Файлы, растровый графический файл (.формат PNG. ,формат JPG или. gif), создает a
BitmapDrawable.Девять-Патч Файл, A
PNGфайл с растягивающимися областями, чтобы разрешить изменение размера изображения на основе содержимого (.9.ПНГ), создаетNinePatchDrawable.Список Слоев, A
Drawableкоторый управляет массивом другихDrawables. они рисуются в порядке массива, поэтому элемент с наибольшим индексом рисуется сверху, создаетLayerDrawable.Государственный Список, либо
XMLфайл, который ссылается на различную растровую графику для разных состояний (например, для использования другого изображения при нажатии кнопки), создаетStateListDrawable.Список Уровней, либо
XMLфайл, который определяетDrawableчто управляет рядом альтернативныхDrawables, каждому присвоено максимальное числовое значение, создаетLevelListDrawable.Переход Drawable, либо
XMLфайл, который определяетDrawableЧто может перекрестное затухание между двумяDrawableресурсы, создаетTransitionDrawable.Вставка Drawable, либо
XMLфайл, который определяетDrawableЧто вставки другойDrawableна указанное расстояние. Это полезно, когдаViewнужен фонDrawbleэто меньше, чем фактические границы представления.Клип Drawable, либо
XMLфайл, который определяетDrawableчто клипы ещеDrawableисходя из этогоDrawableтекущее значение уровня, создаетClipDrawable.Масштаб Катры, либо
XMLфайл, который определяетDrawableЭто меняет размер другогоDrawableна основе его текущего значения уровня, создаетScaleDrawable.Форма Drawable, либо
XMLфайл, который определяет геометрическую форму, включая цвета и градиенты, создаетShapeDrawable.Также смотрите анимацию Ресурсный документ для создания
AnimationDrawable.Примечание: цвет ресурс также может быть использован в качестве
DdrawableнаXML. Например, при созданииStateListDrawable, вы можете ссылаться на цвет ресурс (android:drawable="@color/green").точечный
растровое изображение. Android поддерживает растровые файлы в трех форматах: .png (предпочтительно), .jpg (приемлемо),.гиф (обескураженно).
можно ссылку на растровый файл напрямую, использование имени файла в качестве идентификатора ресурса или создание идентификатора ресурса псевдонима в XML.
Примечание: растровые файлы могут быть автоматически оптимизированы с помощью сжатия изображений без потерь с помощью инструмента aapt во время процесса сборки. Например, истинно-цветной PNG, который не требует более 256 цветов, может быть преобразован в 8-разрядный PNG с цветовой палитрой. Это приведет к получению изображения одинакового качества, но которое требует меньше памяти. Поэтому имейте в виду, что двоичные файлы изображений, размещенные в этом каталоге, могут изменение во время сборки. Если вы планируете читать изображение как битовый поток, чтобы преобразовать его в растровое изображение, поместите свои изображения в
res/raw/папка вместо этого, где они не будут оптимизированы.
растровое изображение не является изображением. Битовая карта бита (обратите внимание, название: бит-карте). И эта карта представляет собой пиксели, на которых можно что-то нарисовать. Это может быть ваше собственное растровое изображение (не изображение), например square:
Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);или вы можете создать объект Bitmap из изображения:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.your_image);растровое изображение является держателем пикселей. И холст используется, чтобы нарисовать что-то на свой растровых изображений (растровых точек).
все о Drawable хорошо описано выше.
TL; DR
некоторые люди пишут, что вы рисуете на холсте. Вы не рисуете на холсте. Вы рисуете на растровых пикселях с помощью вспомогательного метода Canvas.
Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); canvas.drawColor(Color.RED) // now all bitmap pixels became red
Comments