web-dev-qa-db-ja.com

ImageView.ScaleType = "MATRIX"の意味は何ですか:Android

matrixとその構造、および画像ビューのスケールタイプに関する作業について知っています。だが、

  1. ImageView.ScaleType="MATRIX"の正確な意味がわかりません。これを宣言することにより、イメージビューを描画しているときに正確に何が起こるかを示します。

  2. ImageView.ScaleType="MATRIX"はいつ使用できますか?

  3. FIT_ENDFIT_STARTとの違い

私はそれについてグーグルで調べ、 公式リンク も参照しましたが、正確な答えを見つけることができませんでした。

15
  1. _ImageView.ScaleType.MATRIX_を使用すると、Matrixを使用して画像を拡大縮小できます。 ImageView.setImageMatrix(matrix)を使用してマトリックスを設定できます。したがって、scaleTypeto[〜#〜] matrix [〜#〜]明示的なMatrixを使用してそれを実行したいということです。
  2. imageView.setScaleType(ImageView.ScaleType.MATRIX)は、画像のスケーリングや回転などを好きなようにカスタマイズしたいときにいつでも使用できます。
  3. _FIT_END_および_FIT_START_は、デフォルトのスケールタイプです。したがって、たとえば_FIT_END_を使用すると、画像は元のアスペクト比を維持し、画像ビューの右端と下端の結果を揃えます。基本的に、違いは、_FIT_END_と_FIT_START_が「プリセット」であるのに対し、MATRIXを使用すると、独自の行列を使用してスケーリングすることを宣言します。

詳細は the docs を参照してください

11
bitsoverflow

私の理解に従って、各ImageViewのScaleType属性について以下の詳細を使用します

中央

スケーリングなしでビューの中央に画像を表示します。

centerCrop

画像の縦横比を維持しながら、xとyの両方の寸法がビュー以上になるように画像をスケーリングします。ビューのサイズを超える画像の部分をトリミングします。画像をビューの中央に配置します。

centerInside

画像のアスペクト比を維持しながら、ビューの内側に収まるように画像を拡大縮小します。画像がすでにビューよりも小さい場合、これは中央と同じです。

fitCenter

画像のアスペクト比を維持しながら、ビューの内側に収まるように画像を拡大縮小します。少なくとも1つの軸がビューと完全に一致し、結果はビューの中央に配置されます。

fitStart

FitCenterと同じですが、ビューの左上に配置されます。

fitEnd

FitCenterと同じですが、ビューの右下に配置されます。

fitXY

ビューのサイズと正確に一致するようにxとyの寸法をスケーリングします。画像のアスペクト比を維持しません。

行列

指定されたMatrixクラスを使用して画像をスケーリングします。マトリックスは、setImageMatrixメソッドを使用して指定できます。 Matrixクラスを使用して、画像に回転などの変換を適用できます。

3
Durgesh Patel

リンクしたドキュメントは、探している答えを提供します。

描画時にイメージマトリックスを使用してスケーリングします。画像行列は 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の先頭に揃えます

3
Tanis.7x

ScaleType = "MATRIX"

Matrixは、ユーザーのピンチジェスチャースケールファクターに基づいて構築およびスケーリングされ、このスケーリングされたマトリックスに基づいてImageViewセットが作成されます。こちらをご覧ください Android ImageView ScaleType

Effect 。And https://guides.codepath.com/Android/Working-with-the-ImageView を確認してください

1
IntelliJ Amiya