Intereting Posts

В чем смысл ImageView.ScaleType = "MATRIX": Android

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

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

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

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

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

Solutions Collecting From Web of "В чем смысл ImageView.ScaleType = "MATRIX": Android"

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

По моему пониманию, используйте ниже подробные сведения для каждого атрибута ScaleType ImageView

центр

Отображает изображение с центром в представлении без масштабирования.

centerCrop

Масштабирует изображение таким образом, что размеры x и y больше или равны представлению, сохраняя при этом соотношение сторон изображения; Обрезает любую часть изображения, которая превышает размер представления; Центрирует изображение в представлении.

centerInside

Масштабирует изображение, чтобы оно соответствовало внутреннему виду, сохраняя соотношение сторон изображения. Если изображение уже меньше, чем представление, то это то же самое, что и центр.

fitCenter

Масштабирует изображение, чтобы оно соответствовало внутреннему виду, сохраняя соотношение сторон изображения. По крайней мере одна ось будет точно соответствовать виду, а результат центрирован внутри представления.

fitStart

То же, что и fitCenter, но выравнивается в верхнем левом углу.

fitEnd

То же, что и fitCenter, но выравнивается в правом нижнем углу.

fitXY

Масштабирует размеры x и y, чтобы точно соответствовать размеру вида; Не поддерживает соотношение сторон изображения.

матрица

Масштабирует изображение, используя поставляемый класс Matrix. Матрица может поставляться с использованием метода setImageMatrix. Класс Matrix может использоваться для применения преобразований, таких как вращения к изображению.

ScaleType = "MATRIX"

Matrix построена и масштабируется на основе масштабного коэффициента жесты пользователя, а затем набор ImageView основанный на этой масштабированной матрице. Пожалуйста, посетите здесь Android ImageView ScaleType

Проверьте эффект. И https://guides.codepath.com/android/Working-with-the-ImageView