matrix
とその構造、および画像ビューのスケールタイプに関する作業について知っています。だが、
ImageView.ScaleType="MATRIX"
の正確な意味がわかりません。これを宣言することにより、イメージビューを描画しているときに正確に何が起こるかを示します。
ImageView.ScaleType="MATRIX"
はいつ使用できますか?
FIT_END
&FIT_START
との違い
私はそれについてグーグルで調べ、 公式リンク も参照しましたが、正確な答えを見つけることができませんでした。
ImageView.ScaleType.MATRIX
_を使用すると、Matrix
を使用して画像を拡大縮小できます。 ImageView.setImageMatrix(matrix)
を使用してマトリックスを設定できます。したがって、scaleTypeto[〜#〜] matrix [〜#〜]明示的なMatrixを使用してそれを実行したいということです。imageView.setScaleType(ImageView.ScaleType.MATRIX)
は、画像のスケーリングや回転などを好きなようにカスタマイズしたいときにいつでも使用できます。FIT_END
_および_FIT_START
_は、デフォルトのスケールタイプです。したがって、たとえば_FIT_END
_を使用すると、画像は元のアスペクト比を維持し、画像ビューの右端と下端の結果を揃えます。基本的に、違いは、_FIT_END
_と_FIT_START
_が「プリセット」であるのに対し、MATRIX
を使用すると、独自の行列を使用してスケーリングすることを宣言します。詳細は the docs を参照してください
私の理解に従って、各ImageViewのScaleType属性について以下の詳細を使用します
中央
スケーリングなしでビューの中央に画像を表示します。
centerCrop
画像の縦横比を維持しながら、xとyの両方の寸法がビュー以上になるように画像をスケーリングします。ビューのサイズを超える画像の部分をトリミングします。画像をビューの中央に配置します。
centerInside
画像のアスペクト比を維持しながら、ビューの内側に収まるように画像を拡大縮小します。画像がすでにビューよりも小さい場合、これは中央と同じです。
fitCenter
画像のアスペクト比を維持しながら、ビューの内側に収まるように画像を拡大縮小します。少なくとも1つの軸がビューと完全に一致し、結果はビューの中央に配置されます。
fitStart
FitCenterと同じですが、ビューの左上に配置されます。
fitEnd
FitCenterと同じですが、ビューの右下に配置されます。
fitXY
ビューのサイズと正確に一致するようにxとyの寸法をスケーリングします。画像のアスペクト比を維持しません。
行列
指定されたMatrixクラスを使用して画像をスケーリングします。マトリックスは、setImageMatrixメソッドを使用して指定できます。 Matrixクラスを使用して、画像に回転などの変換を適用できます。
リンクしたドキュメントは、探している答えを提供します。
描画時にイメージマトリックスを使用してスケーリングします。画像行列は
setImageMatrix(Matrix)
を使用して設定できます。 XMLから、次の構文を使用します:_Android:scaleType="matrix"
_
Matrix
はグラフィックスのコンテキストで既に知っているとおっしゃっていましたが、この質問に遭遇した他のユーザーのために簡単に説明します-グラフィックスを描画するときにマトリックスを使用してキャンバスを操作できます。 ImageView
の行列の場合、それを使用して、画面上で画像を移動、反転、回転、または移動することができます。
imageView.ScaleType = "MATRIX"を使用できる場合
ImageView
を使用すると、いつでも使用できます。 Javaコードで setScaleType()
を呼び出してマトリックススケールタイプを使用するか、レイアウトに_Android:scaleType="matrix"
_属性を追加できますXML。
fIT_ENDおよびFIT_STARTとの違い
_FIT_END
_ と _FIT_START
_ はどちらも実際にMatrix
を使用して画像を拡大縮小します。どちらも元のアスペクト比を維持し、画像を完全にビュー内に収めますが、結果の配置を変えるだけです。 EndはスケーリングされたイメージをImageView
の末尾に揃えますが、startはスケーリングされたイメージをImageView
の先頭に揃えます
Matrix
は、ユーザーのピンチジェスチャースケールファクターに基づいて構築およびスケーリングされ、このスケーリングされたマトリックスに基づいてImageView
セットが作成されます。こちらをご覧ください Android ImageView ScaleType
Effect 。And https://guides.codepath.com/Android/Working-with-the-ImageView を確認してください