что означает ImageView.ScaleType= "матрица": Android
Я знаю, о matrix
, его структура и работа с масштабным типом изображения. но,
Я не могу найти точное значение
ImageView.ScaleType="MATRIX"
. Объявив это, что именно происходит при рисовании представления изображения.когда я могу использовать
ImageView.ScaleType="MATRIX"
?чем он отличается от
FIT_END
&FIT_START
я погуглил об этом, а также сослался на официальный сайт но не смог найти точного ответа.
4 ответов
-
ImageView.ScaleType.MATRIX
можно использоватьMatrix
для масштабирования изображения. Вы можете установить матрицу с помощьюImageView.setImageMatrix(matrix)
. Итак, объявив scaleType to матрица вы говорите, что хотите использовать явную матрицу для этого. - можно использовать
imageView.setScaleType(ImageView.ScaleType.MATRIX)
всякий раз, когда вы хотите настроить способ масштабирования изображения, вращения и т. д. по вашему желанию. -
FIT_END
иFIT_START
типы по умолчанию масштаб. Итак, если вы используетеFIT_END
например, изображение будет поддерживать исходное соотношение сторон и выравнивать результат правого и нижнего краев изображения. Так что в основном разница в том, чтоFIT_END
иFIT_START
есть "пресеты", а сMATRIX
вы заявляете, что хотите использовать свою собственную матрицу для масштабирования.
читать документы дополнительная информация
согласно моему пониманию, используйте ниже детали для атрибутов ScaleType каждого ImageView
центр
отображает изображение по центру в виде без масштабирования.
centerCrop
масштабирует изображение так, чтобы размеры x и y были больше или равны представлению, сохраняя при этом соотношение сторон изображения; обрезает любую часть изображения, которая превышает размер представления; центрирует изображение в вид.
centerInside
масштабирует изображение, чтобы вписаться в представление, сохраняя при этом соотношение сторон изображения. Если изображение уже меньше, чем вид, то это то же самое, что и центр.
fitCenter
масштабирует изображение, чтобы вписаться в представление, сохраняя при этом соотношение сторон изображения. По крайней мере, одна ось будет точно соответствовать представлению, и результат центрируется внутри вид.
fitStart
Так же, как fitCenter, но выровнен по верхнему углу зрения.
fitEnd
то же, что и fitCenter, но выровнено в правом нижнем углу представления.
fitXY
масштабирует размеры x и y, чтобы точно соответствовать размеру представления; не поддерживает соотношение сторон изображения.
матрица
масштабирование изображения с помощью прилагаемого Матричный класс. Матрицу можно предоставить с помощью метода setImageMatrix. Класс Matrix можно использовать для применения преобразований, таких как вращения к изображению.
документация, с которой вы связаны, дает ответ, который вы ищете.
масштаб с помощью матрицы изображения при рисовании. Матрицу изображений можно установить с помощью
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
, тогда как start выровняет масштабированное изображение до начала ImageView
ScaleType="MATRIX"
A Matrix
строится и масштабируется на основе масштабного коэффициента жеста Пинча пользователя, а затем ImageView
set на основе этой масштабированной матрицы.
Пожалуйста, посетите здесь Android ImageView ScaleType
Регистрация эффект.И https://guides.codepath.com/android/Working-with-the-ImageView