что означает 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