Matrix

Inheritance: java.lang.Object

public class Matrix

GDI+ Matrisini değiştirir.


Çoğu algoritma Sun’un AffineTransform.java dosyasından alınmıştır. Matris elemanları için Java’nın dahili kullanılan adları. Java adlarının .net karşılıkları ve açıklamaları haritası: m00 M11 Ölçek X m10 M12 Kayma Y m01 M21 Kayma X m11 M22 Ölçek Y m02 M31 Çevirme X m12 M32 Çevirme Y

Yapıcılar

YapıcıAçıklama
Matrix()Matrix sınıfının yeni bir örneğini birim matris olarak başlatır.
Matrix(float m11, float m12, float m21, float m22, float m31, float m32)Yeni bir Matrix sınıfı örneği başlatır.
Matrix(RectangleF rect, PointF[] plgpts)Belirtilen dikdörtgen ve nokta dizisi tarafından tanımlanan geometrik dönüşüm için yeni bir Matrix sınıfı örneği başlatır.
Matrix(Rectangle rect, Point[] plgpts)Belirtilen dikdörtgen ve nokta dizisi tarafından tanımlanan geometrik dönüşüm için yeni bir Matrix sınıfı örneği başlatır.
Matrix(Matrix origin)Matrix sınıfının bir kopyasını oluşturur.

Alanlar

AlanAçıklama
TYPE_IDENTITYBir birim dönüşüm, çıktı koordinatlarının her zaman giriş koordinatlarıyla aynı olduğu dönüşümdür.
TYPE_TRANSLATIONBir çevirme, vektörlerin uzunluğunu veya açısını değiştirmeden x ve y eksenlerinde koordinatları sabit bir miktar kaydırır.
TYPE_UNIFORM_SCALEBir uniform ölçek, vektörlerin uzunluğunu x ve y yönlerinde aynı miktarda çarpar ve vektörler arasındaki açıyı değiştirmez.
TYPE_GENERAL_SCALEGenel bir ölçek, dik vektörler arasındaki açıyı değiştirmeden, x ve y yönlerinde vektörlerin uzunluğunu farklı miktarlarda çarpar.
TYPE_MASK_SCALEBu sabit, ölçek bayrak bitlerinden herhangi biri için bir bit maskesidir.
TYPE_FLIPBu bayrak biti, bu nesne tarafından tanımlanan dönüşümün, diğer bayrak bitleri tarafından belirtilen dönüşümlere ek olarak, normalde sağ el koordinat sistemini sol el sistemine değiştiren bir eksen etrafında ayna yansıması yaptığını gösterir.
TYPE_QUADRANT_ROTATIONBu bayrak biti, bu nesne tarafından tanımlanan dönüşümün, diğer bayrak bitleri tarafından belirtilen dönüşümlere ek olarak, 90 derecenin bir katı kadar bir çeyrek dönüş gerçekleştirdiğini gösterir.
TYPE_GENERAL_ROTATIONBu bayrak biti, bu nesne tarafından tanımlanan dönüşümün, diğer bayrak bitleri tarafından belirtilen dönüşümlere ek olarak, rastgele bir açıyla dönüş yaptığını gösterir.
TYPE_MASK_ROTATIONBu sabit, dönüşüm bayrak bitlerinden herhangi biri için bir bit maskesidir.
TYPE_GENERAL_TRANSFORMBu sabit, bu nesne tarafından tanımlanan dönüşümün giriş koordinatlarının rastgele bir dönüşümünü gerçekleştirdiğini gösterir.

Yöntemler

YöntemAçıklama
isEquals(Matrix a, Matrix b)İki matrisin eşit olup olmadığını belirler.
getM11()İlk satır ilk sütundaki matris elemanını alır.
getM12()İlk satır ikinci sütundaki matris elemanını alır.
getM21()İkinci satır ilk sütundaki matris elemanını alır.
getM22()İkinci satır ikinci sütundaki matris elemanını alır.
getM31()Üçüncü satır ilk sütundaki matris elemanını alır.
getM32()Üçüncü satır ilk sütundaki matris elemanını alır.
toString()Bu örneği temsil eden bir String döndürür.
getElements()Matris elemanlarının bir kopyasını alır.
transformPoints(PointF[] points)Bu Matrix tarafından temsil edilen geometrik dönüşümü belirtilen nokta dizisine uygular.
scale(float scaleX, float scaleY, int order)Belirtilen ölçek vektörünü (scaleX ve scaleY) bu Matrix üzerine belirtilen sırayla uygular.
scale(float sx, float sy)Belirtilen ölçek vektörünü (scaleX ve scaleY) bu Matrix’e (varsayılan) Prepend sırasını kullanarak uygular.
translate(float offsetX, float offsetY, int order)Belirtilen çeviri vektörünü bu Matrix’e belirtilen sırada uygular.
translate(float tx, float ty)Belirtilen çeviri vektörünü bu Matrix üzerine (varsayılan) Prepend sırasını kullanarak uygular.
multiply(Matrix tTx, int order)Bu Matrix’i, matrix parametresinde belirtilen matrisle ve order parametresinde belirtilen sırada çarpar.
multiply(Matrix tTx)Bu Matrix’i, matrix parametresinde belirtilen matrisle (varsayılan) Prepend sırasını kullanarak çarpar.
rotate(float angle, int order)Bu Matrix için, açı parametresinde belirtilen miktarda saat yönünde bir dönüşümü, orijinin (sıfır x ve y koordinatları) etrafında belirtilen sırada uygular.
rotate(float angle)Bu Matrix için, açı parametresinde belirtilen miktarda saat yönünde bir dönüşümü, orijinin (sıfır x ve y koordinatları) etrafında varsayılan (Prepend) sırada uygular.
rotateAt(float angle, PointF point, int order)Belirtilen nokta etrafında saat yönünde bir dönüşümü bu Matrix’e belirtilen sırada uygular.
rotateAt(float angle, PointF point)Belirtilen nokta etrafında saat yönünde bir dönüşümü bu Matrix’e varsayılan (Prepend) sırada uygular.
reset()Bu Matrisi, birim matrisin elemanlarına sahip olacak şekilde sıfırlar.
hashCode()Bu örnek için bir karma kodu döndürür.
equals(Object obj)Belirtilen Object‘in bu örnekle eşit olup olmadığını belirler.
isIdentity()Bu AffineTransform bir birim dönüşüm ise true döndürür.

Matrix()

public Matrix()

Matrix sınıfının yeni bir örneğini birim matris olarak başlatır.

Matrix(float m11, float m12, float m21, float m22, float m31, float m32)

public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)

Yeni bir Matrix sınıfı örneği başlatır.

Parameters:

ParametreTürAçıklama
m11floatm00 M11 Ölçek X
m12floatm10 M12 Kayma Y
m21floatm01 M21 Kayma X
m22floatm11 M22 Ölçek Y
m31floatm02 M31 Taşıma X
m32floatm12 M32 Taşıma Y

Matrix(RectangleF rect, PointF[] plgpts)

public Matrix(RectangleF rect, PointF[] plgpts)

Belirtilen dikdörtgen ve nokta dizisi tarafından tanımlanan geometrik dönüşüm için yeni bir Matrix sınıfı örneği başlatır.

Parameters:

ParametreTürAçıklama
rectRectangleFDönüştürülecek dikdörtgeni temsil eden bir RectangleF yapısı.
plgptsPointF[]Üst sol, üst sağ ve alt sol köşelerinin dönüştürüleceği paralelkenarın noktalarını temsil eden üç PointF yapısından oluşan bir dizi. Paralelkenarın alt sağ köşesi, ilk üç köşe tarafından ima edilir.

Matrix(Rectangle rect, Point[] plgpts)

public Matrix(Rectangle rect, Point[] plgpts)

Belirtilen dikdörtgen ve nokta dizisi tarafından tanımlanan geometrik dönüşüm için yeni bir Matrix sınıfı örneği başlatır.

Parameters:

ParametreTürAçıklama
rectRectangleDönüştürülecek dikdörtgeni temsil eden bir Rectangle yapısı.
plgptsPoint[]Üst sol, üst sağ ve alt sol köşelerinin dönüştürüleceği paralelkenarın noktalarını temsil eden üç Point yapısından oluşan bir dizi. Paralelkenarın alt sağ köşesi, ilk üç köşe tarafından ima edilir.

Matrix(Matrix origin)

public Matrix(Matrix origin)

Matrix sınıfının bir kopyasını oluşturur.

Parameters:

ParametreTürAçıklama
originMatrixKopyalama için temel bir matris.

TYPE_IDENTITY

public static final int TYPE_IDENTITY

Bir birim dönüşüm, çıktı koordinatlarının her zaman giriş koordinatlarıyla aynı olduğu bir dönüşümdür. Bu dönüşüm bir birim dönüşümden farklı ise, tür ya sabit GENERAL_TRANSFORM olacak ya da bu dönüşümün gerçekleştirdiği çeşitli koordinat dönüşümleri için uygun bayrak bitlerinin bir kombinasyonu olacaktır.

TYPE_TRANSLATION

public static final int TYPE_TRANSLATION

Bir çevirme, vektörlerin uzunluğunu veya açısını değiştirmeden x ve y eksenlerinde koordinatları sabit bir miktar kaydırır.

TYPE_UNIFORM_SCALE

public static final int TYPE_UNIFORM_SCALE

Tekdüze bir ölçek, vektörlerin uzunluğunu x ve y yönlerinde aynı miktarda çarpar ve vektörler arasındaki açıyı değiştirmez. Bu bayrak biti, TypeGeneralScale bayrağı ile karşılıklı olarak birbirini dışlar.

TYPE_GENERAL_SCALE

public static final int TYPE_GENERAL_SCALE

Genel bir ölçek, dik vektörler arasındaki açıyı değiştirmeden, vektörlerin uzunluğunu x ve y yönlerinde farklı miktarlarda çarpar. Bu bayrak biti, TypeUniformScale bayrağı ile karşılıklı olarak birbirini dışlar.

TYPE_MASK_SCALE

public static final int TYPE_MASK_SCALE

Bu sabit, ölçek bayrak bitlerinden herhangi biri için bir bit maskesidir.

TYPE_FLIP

public static final int TYPE_FLIP

Bu bayrak biti, bu nesne tarafından tanımlanan dönüşümün, diğer bayrak bitleriyle belirtilen dönüşümlere ek olarak, normalde sağ el koordinat sistemini sol el sistemine değiştiren bir eksen etrafında ayna yansıması (flip) yaptığını gösterir. Sağ el koordinat sistemi, pozitif X ekseninin pozitif Y eksenini örtmek üzere saat yönünün tersine döndüğü, başparmağınıza baktığınızda sağ elinizin parmaklarının kıvrıldığı yön gibidir. Sol el koordinat sistemi ise pozitif X ekseninin pozitif Y eksenini örtmek üzere saat yönünde döndüğü, sol elinizin parmaklarının kıvrıldığı yön gibidir. Orijinal çevirme ya da yansıtma dönüşümünün açısını belirlemenin matematiksel bir yolu yoktur, çünkü uygun bir ayarlama dönüşümleriyle tüm çevirme açıları aynı olur. NOT: TypeFlip, GENERAL_TRANSFORM halka açık hale geldikten sonra eklendi ve bayrak bitleri dış kodda ikili uyumsuzluk yaratmadan yeniden numaralandırılamadı.

TYPE_QUADRANT_ROTATION

public static final int TYPE_QUADRANT_ROTATION

Bu bayrak biti, bu nesne tarafından tanımlanan dönüşümün, diğer bayrak bitleriyle belirtilen dönüşümlere ek olarak, 90 derecenin katları kadar bir çokluğu ile bir çeyrek dönüş (quadrant rotation) yaptığını gösterir. Bir dönüşüm, vektörün açısını, vektörün orijinal yönünden bağımsız olarak aynı miktarda değiştirir ve vektörün uzunluğunu değiştirmez. Bu bayrak biti, TypeGeneralRotation bayrağı ile karşılıklı olarak birbirini dışlar.

TYPE_GENERAL_ROTATION

public static final int TYPE_GENERAL_ROTATION

Bu bayrak biti, bu nesne tarafından tanımlanan dönüşümün, diğer bayrak bitleriyle belirtilen dönüşümlere ek olarak rastgele bir açıyla döndürme yaptığını gösterir. Bir döndürme, vektörün orijinal yönünden bağımsız olarak vektörlerin açılarını aynı miktarda değiştirir ve vektörün uzunluğunu değiştirmez. Bu bayrak biti, ile karşılıklı olarak dışlayıcıdır.

TYPE_MASK_ROTATION

public static final int TYPE_MASK_ROTATION

Bu sabit, dönüşüm bayrak bitlerinden herhangi biri için bir bit maskesidir.

TYPE_GENERAL_TRANSFORM

public static final int TYPE_GENERAL_TRANSFORM

Bu sabit, bu nesne tarafından tanımlanan dönüşümün giriş koordinatlarını rastgele bir şekilde dönüştürdüğünü gösterir. Eğer bu dönüşüm yukarıdaki sabitlerden herhangi biriyle sınıflandırılabiliyorsa, tür ya sabit TypeIdentity olur ya da bu dönüşümün gerçekleştirdiği çeşitli koordinat dönüşümleri için uygun bayrak bitlerinin bir kombinasyonu olur.

isEquals(Matrix a, Matrix b)

public static boolean isEquals(Matrix a, Matrix b)

İki matrisin eşit olup olmadığını belirler.

Parameters:

ParametreTürAçıklama
aMatrixKarşılaştırılacak ilk matris.
bMatrixKarşılaştırılacak ikinci matris.

Returns: boolean - Matrisler eşitse Doğru.

getM11()

public final float getM11()

İlk satır ilk sütundaki matris elemanını alır. X ekseni boyunca ölçeği temsil eder.

Returns: float - İlk satır ilk sütundaki matris elemanı.

getM12()

public final float getM12()

İlk satır ikinci sütundaki matris elemanını alır. Y ekseni boyunca kaymayı temsil eder.

Returns: float - İlk satır ikinci sütundaki matris elemanı.

getM21()

public final float getM21()

İkinci satır ilk sütundaki matris elemanını alır. X ekseni boyunca kaymayı temsil eder.

Returns: float - İkinci satır ilk sütundaki matris elemanı.

getM22()

public final float getM22()

İkinci satır ikinci sütundaki matris elemanını alır. Y ekseni boyunca ölçeği temsil eder.

Returns: float - İkinci satır ikinci sütundaki matris elemanı.

getM31()

public final float getM31()

Üçüncü satır ilk sütundaki matris elemanını alır. X ekseni boyunca çeviriyi temsil eder.

Returns: float - Üçüncü satır ilk sütundaki matris elemanı.

getM32()

public final float getM32()

Üçüncü satır ilk sütundaki matris elemanını alır. Y ekseni boyunca çeviriyi temsil eder.

Returns: float - Üçüncü satır ilk sütundaki matris elemanı.

toString()

public String toString()

Bu örneği temsil eden bir String döndürür.

Returns: java.lang.String - Bu örneği temsil eden bir String.

getElements()

public final float[] getElements()

Matris elemanlarının bir kopyasını alır.

Returns: float[] - Bir matris elemanları kopyası.

transformPoints(PointF[] points)

public final void transformPoints(PointF[] points)

Bu Matrix tarafından temsil edilen geometrik dönüşümü belirtilen nokta dizisine uygular.

Parameters:

ParametreTürAçıklama
pointsPointF[]Noktalar.

scale(float scaleX, float scaleY, int order)

public final void scale(float scaleX, float scaleY, int order)

Belirtilen ölçek vektörünü (scaleX ve scaleY) bu Matrix üzerine belirtilen sırayla uygular.

Parameters:

ParametreTürAçıklama
scaleXfloatX ölçeği.
scaleYfloatY ölçeği.
sıraintSıra.

scale(float sx, float sy)

public final void scale(float sx, float sy)

Belirtilen ölçek vektörünü (scaleX ve scaleY) bu Matrix’e (varsayılan) Prepend sırasını kullanarak uygular.

Parameters:

ParametreTürAçıklama
sxfloatBu sx. Bu sx. Bu sx.
syfloatBu sy. Bu sy. Bu sy.

translate(float offsetX, float offsetY, int order)

public final void translate(float offsetX, float offsetY, int order)

Belirtilen çeviri vektörünü bu Matrix’e belirtilen sırada uygular.

Parameters:

ParametreTürAçıklama
offsetXfloatBu offset X.
offsetYfloatBu offset Y.
sıraintSıra.

translate(float tx, float ty)

public final void translate(float tx, float ty)

Belirtilen çeviri vektörünü bu Matrix üzerine (varsayılan) Prepend sırasını kullanarak uygular.

Parameters:

ParametreTürAçıklama
txfloatBu tx. Bu tx. Bu tx.
tyfloatBu ty. Bu ty. Bu ty.

multiply(Matrix tTx, int order)

public final void multiply(Matrix tTx, int order)

Bu Matrix’i, matrix parametresinde belirtilen matrisle ve order parametresinde belirtilen sırada çarpar.

Parameters:

ParametreTürAçıklama
tTxMatrixBu tx. Bu tx. Bu tx.
sıraintBu sıra. Bu sıra. Bu sıra.

multiply(Matrix tTx)

public final void multiply(Matrix tTx)

Bu Matrix’i, matrix parametresinde belirtilen matrisle (varsayılan) Prepend sırasını kullanarak çarpar.

Parameters:

ParametreTürAçıklama
tTxMatrixBu çarpma yapılacak matris.

rotate(float angle, int order)

public final void rotate(float angle, int order)

Bu Matrix için, açı parametresinde belirtilen miktarda saat yönünde bir dönüşümü, orijinin (sıfır x ve y koordinatları) etrafında belirtilen sırada uygular.

Parameters:

ParametreTürAçıklama
anglefloatBu döndürme açısı.
sıraintBu matris sırası.

rotate(float angle)

public final void rotate(float angle)

Bu Matrix için, açı parametresinde belirtilen miktarda saat yönünde bir dönüşümü, orijinin (sıfır x ve y koordinatları) etrafında varsayılan (Prepend) sırada uygular.

Parameters:

ParametreTürAçıklama
anglefloatBu döndürme açısı.

rotateAt(float angle, PointF point, int order)

public final void rotateAt(float angle, PointF point, int order)

Belirtilen nokta etrafında saat yönünde bir dönüşümü bu Matrix’e belirtilen sırada uygular.

Parameters:

ParametreTürAçıklama
anglefloatBu açı.
pointPointFBu nokta.
sıraintSıra.

rotateAt(float angle, PointF point)

public final void rotateAt(float angle, PointF point)

Belirtilen nokta etrafında saat yönünde bir dönüşümü bu Matrix’e varsayılan (Prepend) sırada uygular.

Parameters:

ParametreTürAçıklama
anglefloatBu açı.
pointPointFBu nokta.

reset()

public final void reset()

Bu Matrisi, birim matrisin elemanlarına sahip olacak şekilde sıfırlar.

hashCode()

public int hashCode()

Bu örnek için bir karma kodu döndürür.

Returns: int - Bu örnek için bir karma kodu, karma algoritmaları ve hash tablosu gibi veri yapılarında kullanılmaya uygundur.

equals(Object obj)

public boolean equals(Object obj)

Belirtilen Object‘in bu örnekle eşit olup olmadığını belirler.

Parameters:

ParametreTürAçıklama
objjava.lang.ObjectBu Object bu örnek ile karşılaştırmak için.

Returns: boolean - true eğer belirtilen Object bu örnek ile eşitse; aksi takdirde false.

isIdentity()

public boolean isIdentity()

Bu AffineTransform bir birim dönüşüm ise true döndürür.

Returns: boolean - true eğer bu AffineTransform bir birim dönüşümse; aksi takdirde false.