ImageView.ScaleType="MATRIX" 是什么意思:Android
what is the meaning of ImageView.ScaleType="MATRIX" : Android
我知道 matrix
,它的结构和关于图像视图比例类型的工作。但是,
我找不到ImageView.ScaleType="MATRIX"
的确切含义。通过声明这个,绘制图像视图时到底发生了什么。
什么时候可以使用ImageView.ScaleType="MATRIX"
?
它与 FIT_END
& FIT_START
有何不同
我用谷歌搜索并参考了 official link 但没能找到确切的答案。
据我了解,对每个 ImageView 的 ScaleType 属性使用以下详细信息
中心
在视图中居中显示图像,不缩放。
centerCrop
缩放图像,使 x 和 y 维度都大于或等于视图,同时保持图像纵横比;裁剪图像中超出视图大小的任何部分;使图像在视图中居中。
中心内
缩放图像以适合视图内部,同时保持图像纵横比。如果图像已经小于视图,那么这与中心相同。
fitCenter
缩放图像以适合视图内部,同时保持图像纵横比。至少有一个轴将与视图完全匹配,结果在视图内居中。
fitStart
与 fitCenter 相同,但与视图的左上角对齐。
fitEnd
与 fitCenter 相同,但与视图的右下角对齐。
fitXY
缩放 x 和 y 维度以精确匹配视图大小;不保持图像纵横比。
矩阵
使用提供的矩阵缩放图像 class。可以使用 setImageMatrix 方法提供矩阵。矩阵 class 可用于对图像应用旋转等变换。
ImageView.ScaleType.MATRIX
允许您使用 Matrix
缩放图像。您可以使用 ImageView.setImageMatrix(matrix)
设置矩阵。因此,通过将 scaleType 声明为 MATRIX 你是说你想使用显式 Matrix 来做到这一点。
- 您可以随时使用
imageView.setScaleType(ImageView.ScaleType.MATRIX)
根据需要自定义图像缩放、旋转等方式。
FIT_END
和 FIT_START
是默认的比例类型。因此,例如,如果您使用 FIT_END
,您的图像将保持原始纵横比,并且它将对齐图像视图的右边缘和下边缘的结果。所以基本上,区别在于 FIT_END
和 FIT_START
是 "presets" 而 MATRIX
你声明你想使用你自己的矩阵来缩放。
阅读 the docs 了解更多信息
您链接到的文档提供了您正在寻找的答案。
Scale using the image matrix when drawing. The image matrix can be set using setImageMatrix(Matrix)
. From XML, use this syntax: android:scaleType="matrix"
虽然你提到你已经知道图形上下文中的Matrix
是什么,但为了其他遇到这个问题的用户,我将简要解释一下——矩阵可以用来操纵canvas 绘制图形时。对于 ImageView
的矩阵,您可以使用它来平移、翻转、旋转或以其他方式在屏幕上四处移动图像。
when i can use ImageView.ScaleType="MATRIX"
您可以随时使用 ImageView
。您可以在 Java 代码中调用 setScaleType()
以使用矩阵比例类型,或者您可以在布局 XML.
中添加 android:scaleType="matrix"
属性
how it differs from FIT_END & FIT_START
FIT_END
and FIT_START
实际上都使用 Matrix
来缩放图像。两者都保持原始纵横比并使图像完全适合视图,但对齐结果不同。 End 会将缩放后的图像与 ImageView
的末尾对齐,而 start 会将缩放后的图像与 ImageView
的开头对齐
ScaleType="MATRIX"
一个Matrix
是根据用户的捏合手势比例因子构造和缩放的,然后ImageView
集是基于这个缩放矩阵。
请访问这里Android ImageView ScaleType
勾选Effect.And https://guides.codepath.com/android/Working-with-the-ImageView
我知道 matrix
,它的结构和关于图像视图比例类型的工作。但是,
我找不到
ImageView.ScaleType="MATRIX"
的确切含义。通过声明这个,绘制图像视图时到底发生了什么。什么时候可以使用
ImageView.ScaleType="MATRIX"
?它与
FIT_END
&FIT_START
有何不同
我用谷歌搜索并参考了 official link 但没能找到确切的答案。
据我了解,对每个 ImageView 的 ScaleType 属性使用以下详细信息
中心
在视图中居中显示图像,不缩放。
centerCrop
缩放图像,使 x 和 y 维度都大于或等于视图,同时保持图像纵横比;裁剪图像中超出视图大小的任何部分;使图像在视图中居中。
中心内
缩放图像以适合视图内部,同时保持图像纵横比。如果图像已经小于视图,那么这与中心相同。
fitCenter
缩放图像以适合视图内部,同时保持图像纵横比。至少有一个轴将与视图完全匹配,结果在视图内居中。
fitStart
与 fitCenter 相同,但与视图的左上角对齐。
fitEnd
与 fitCenter 相同,但与视图的右下角对齐。
fitXY
缩放 x 和 y 维度以精确匹配视图大小;不保持图像纵横比。
矩阵
使用提供的矩阵缩放图像 class。可以使用 setImageMatrix 方法提供矩阵。矩阵 class 可用于对图像应用旋转等变换。
ImageView.ScaleType.MATRIX
允许您使用Matrix
缩放图像。您可以使用ImageView.setImageMatrix(matrix)
设置矩阵。因此,通过将 scaleType 声明为 MATRIX 你是说你想使用显式 Matrix 来做到这一点。- 您可以随时使用
imageView.setScaleType(ImageView.ScaleType.MATRIX)
根据需要自定义图像缩放、旋转等方式。 FIT_END
和FIT_START
是默认的比例类型。因此,例如,如果您使用FIT_END
,您的图像将保持原始纵横比,并且它将对齐图像视图的右边缘和下边缘的结果。所以基本上,区别在于FIT_END
和FIT_START
是 "presets" 而MATRIX
你声明你想使用你自己的矩阵来缩放。
阅读 the docs 了解更多信息
您链接到的文档提供了您正在寻找的答案。
Scale using the image matrix when drawing. The image matrix can be set using
setImageMatrix(Matrix)
. From XML, use this syntax:android:scaleType="matrix"
虽然你提到你已经知道图形上下文中的Matrix
是什么,但为了其他遇到这个问题的用户,我将简要解释一下——矩阵可以用来操纵canvas 绘制图形时。对于 ImageView
的矩阵,您可以使用它来平移、翻转、旋转或以其他方式在屏幕上四处移动图像。
when i can use ImageView.ScaleType="MATRIX"
您可以随时使用 ImageView
。您可以在 Java 代码中调用 setScaleType()
以使用矩阵比例类型,或者您可以在布局 XML.
android:scaleType="matrix"
属性
how it differs from FIT_END & FIT_START
FIT_END
and FIT_START
实际上都使用 Matrix
来缩放图像。两者都保持原始纵横比并使图像完全适合视图,但对齐结果不同。 End 会将缩放后的图像与 ImageView
的末尾对齐,而 start 会将缩放后的图像与 ImageView
ScaleType="MATRIX"
一个Matrix
是根据用户的捏合手势比例因子构造和缩放的,然后ImageView
集是基于这个缩放矩阵。
请访问这里Android ImageView ScaleType
勾选Effect.And https://guides.codepath.com/android/Working-with-the-ImageView