что означает ImageView.ScaleType= "матрица": Android

Я знаю, о matrix, его структура и работа с масштабным типом изображения. но,

  1. Я не могу найти точное значение ImageView.ScaleType="MATRIX". Объявив это, что именно происходит при рисовании представления изображения.

  2. когда я могу использовать ImageView.ScaleType="MATRIX" ?

  3. чем он отличается от FIT_END & FIT_START

я погуглил об этом, а также сослался на официальный сайт но не смог найти точного ответа.

4 ответов


  1. ImageView.ScaleType.MATRIX можно использовать Matrix для масштабирования изображения. Вы можете установить матрицу с помощью ImageView.setImageMatrix(matrix). Итак, объявив scaleType to матрица вы говорите, что хотите использовать явную матрицу для этого.
  2. можно использовать imageView.setScaleType(ImageView.ScaleType.MATRIX) всякий раз, когда вы хотите настроить способ масштабирования изображения, вращения и т. д. по вашему желанию.
  3. 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