В чем смысл ImageView.ScaleType = "MATRIX": Android
Я знаю о matrix
, его структуре и работе над масштабным типом изображения. но,
-
Я не могу найти точный смысл ImageView.ScaleType="MATRIX"
. Объявив это, что именно происходит при рисовании изображения.
-
Когда я могу использовать ImageView.ScaleType="MATRIX"
?
-
Чем он отличается от FIT_END
и FIT_START
Я искал ее, а также ссылался на официальную ссылку , но не смог найти точный ответ.
Ответы
Ответ 1
-
ImageView.ScaleType.MATRIX
позволяет использовать Matrix
для масштабирования изображения. Вы можете установить матрицу с помощью ImageView.setImageMatrix(matrix)
. Итак, объявив scaleType MATRIX, вы говорите, что хотите использовать явную матрицу для этого.
- Вы можете использовать
imageView.setScaleType(ImageView.ScaleType.MATRIX)
, когда хотите настроить способ масштабирования, вращения и т.д. по вашему желанию.
-
FIT_END
и FIT_START
являются стандартными типами шкалы. Таким образом, если вы используете FIT_END
, например, ваше изображение будет поддерживать исходное соотношение сторон и выравнивает результат правого и нижнего краев изображения. В основном, разница в том, что FIT_END
и FIT_START
являются "пресетами", а при Matrix
вы заявляете, что хотите использовать свою собственную матрицу для масштабирования.
Прочтите документы для получения дополнительной информации
Ответ 2
Документация, на которую вы ссылаетесь, предоставляет ответ, который вы ищете.
Масштабирование с использованием матрицы изображений при рисовании. Матрицу изображений можно установить с помощью setImageMatrix(Matrix)
. Из XML используйте этот синтаксис: android:scaleType="matrix"
Хотя вы упомянули, что уже знаете, что такое Matrix
в контексте графики, я кратко объясню ради других пользователей, которые сталкиваются с этим вопросом. Матрица может использоваться для манипулирования холстом при рисовании графики, В случае матрицы ImageView
вы можете использовать ее для перевода, переворота, поворота или иного перемещения изображения на экране.
когда я могу использовать ImageView.ScaleType = "MATRIX"
Вы можете использовать его, когда захотите, с помощью ImageView
. Вы можете вызвать setScaleType()
в вашем Java-коде, чтобы использовать тип матричного масштаба, или вы можете добавить атрибут android:scaleType="matrix"
в свой формат XML.
как он отличается от FIT_END и FIT_START
FIT_END
и FIT_START
как на самом деле используйте Matrix
для масштабирования изображения. Оба сохраняют исходное соотношение сторон и полностью соответствуют изображению, но просто выравнивают результат по-разному. End выравнивает масштабированное изображение до конца ImageView
, тогда как начало выравнивает масштабированное изображение до начала ImageView
Ответ 3
В соответствии с моим пониманием, используйте ниже подробные сведения для каждого атрибута ImageView ScaleType
центр
Отображает изображение с центром в представлении без масштабирования.
centerCrop
Масштабирует изображение таким образом, что размеры x и y больше или равны представлению, сохраняя при этом соотношение сторон изображения; обрезает любую часть изображения, которая превышает размер представления; центрирует изображение в представлении.
centerInside
Масштабирует изображение, чтобы оно соответствовало внутреннему виду, сохраняя соотношение сторон изображения. Если изображение уже меньше, чем представление, то это то же самое, что и центр.
fitCenter
Масштабирует изображение, чтобы оно соответствовало внутреннему виду, сохраняя соотношение сторон изображения. По крайней мере одна ось будет точно соответствовать представлению, а результат центрируется внутри представления.
fitStart
То же, что и fitCenter, но выравнивается в левом верхнем углу представления.
fitEnd
То же, что и fitCenter, но выравнивается в правом нижнем углу представления.
fitXY
Масштабирует размеры x и y, чтобы точно соответствовать размеру вида; не поддерживает соотношение сторон изображения.
матрица
Масштабирует изображение, используя поставляемый класс Matrix. Матрица может быть предоставлена с использованием метода setImageMatrix. Класс Matrix может использоваться для применения преобразований, таких как вращения к изображению.
Ответ 4
ScaleType = "MATRIX"
A Matrix
создается и масштабируется на основе масштабного коэффициента жесты пользователя, а затем набор ImageView
, основанный на этой масштабированной матрице.
Пожалуйста, посетите здесь Android ImageView ScaleType
Проверьте Эффект. И https://guides.codepath.com/android/Working-with-the-ImageView