Matrix

Matrix class

GDI+ Matrisinin yerini alır.

public class Matrix

yapıcılar

İsimTanım
Matrix()Kimlik matrisi olarak Matrix sınıfının yeni bir örneğini başlatır.
Matrix(Matrix)Matrix sınıf.
Matrix(Rectangle, Point[])Yeni bir örneğini başlatırMatrix belirtilen dikdörtgen ve nokta dizisi tarafından tanımlanan geometrik dönüşüme sınıf.
Matrix(RectangleF, PointF[])Yeni bir örneğini başlatırMatrix belirtilen dikdörtgen ve nokta dizisi tarafından tanımlanan geometrik dönüşüme sınıf.
Matrix(float, float, float, float, float, float)Yeni bir örneğini başlatırMatrix sınıf.

Özellikleri

İsimTanım
Elements { get; }Bunun öğelerini temsil eden bir dizi kayan nokta değeri alır.Matrix .
M11 { get; }İlk satırın ilk sütunundaki matris öğesini alır. X ekseni boyunca ölçeği temsil eder.
M12 { get; }Birinci satır ikinci sütundaki matris öğesini alır. Y ekseni boyunca kaymayı temsil eder.
M21 { get; }İkinci satır birinci sütundaki matris öğesini alır. X ekseni boyunca kaymayı temsil eder.
M22 { get; }İkinci satır ikinci sütundaki matris öğesini alır. Y ekseni boyunca ölçeği temsil eder.
M31 { get; }Üçüncü satır birinci sütundaki matris öğesini alır. X ekseni boyunca çeviriyi temsil eder.
M32 { get; }Üçüncü satır birinci sütundaki matris öğesini alır. Y ekseni boyunca çeviriyi temsil eder.

yöntemler

İsimTanım
override Equals(object)BelirtilenObject bu örneğe eşittir.
GetElements()Matris öğelerinin kopyasını alır.
override GetHashCode()Bu örnek için bir karma kod döndürür.
Multiply(Matrix)Bu Matrisi, (varsayılan) Başa Ekle sırasını kullanarak matris parametresinde belirtilen matrisle çarpar.
Multiply(Matrix, MatrixOrder)Bu Matrisi, matris parametresinde belirtilen matrisle ve sıra parametresinde belirtilen sırayla çarpar.
Reset()Bu Matrisi, kimlik matrisinin öğelerine sahip olacak şekilde sıfırlar.
Rotate(float)Varsayılan (Prepend) sırayla bu Matris için başlangıç noktası (sıfır x ve y koordinatları) etrafında açı parametresinde belirtilen bir miktarın saat yönünde dönüşünü uygular.
Rotate(float, MatrixOrder)Bu Matris için, açı parametresinde belirtilen bir miktarın başlangıç noktası (sıfır x ve y koordinatları) etrafında belirtilen sırada saat yönünde dönüşünü uygular.
RotateAt(float, PointF)Varsayılan (Prepend) sırayla bu Matrise belirtilen nokta etrafında saat yönünde bir dönüş uygular.
RotateAt(float, PointF, MatrixOrder)Bu Matrix’e belirtilen sırada belirtilen nokta etrafında saat yönünde bir dönüş uygular.
Scale(float, float)(varsayılan) Başa Ekle sırasını kullanarak belirtilen ölçek vektörünü (scaleX ve scaleY) bu Matrise uygular.
Scale(float, float, MatrixOrder)Belirtilen ölçek vektörünü (scaleX ve scaleY) buna uygularMatrix belirtilen sırayı kullanarak.
override ToString()Bir döndürürString bu, bu örneği temsil eder.
TransformPoints(PointF[])Bununla temsil edilen geometrik dönüşümü uygular.Matrixbelirli bir nokta dizisine.
Translate(float, float)Belirtilen çeviri vektörünü buna uygularMatrix kullanarak (varsayılan) Siparişi başa ekle.
Translate(float, float, MatrixOrder)Belirtilen çeviri vektörünü belirtilen sırayla bu Matrix’e uygular.
static Equals(Matrix, Matrix)İki matrisin eşit olup olmadığını belirler.

Alanlar

İsimTanım
const TypeFlipBu bayrak biti, bu object tarafından tanımlanan dönüşümün, diğer bayrak bitleri tarafından belirtilen dönüşümlere ek olarak, normalde sağ elini kullanan koordinat sistemini bir sol el sistemine değiştiren bazı eksenler etrafında bir ayna görüntüsü çevirmesi gerçekleştirdiğini gösterir. Sağ elini kullanan bir koordinat sistemi pozitif X ekseninin, pozitif Y eksenini kaplamak için saat yönünün tersine döndüğü bir yerdir , sağ elinizdeki parmakların başparmağınıza baktığınız zaman kıvrıldığı yöne benzer . Solak koordinat sistemi, pozitif X ekseninin döndüğü bir koordinat sistemidir pozitif Y eksenini sol elinizdeki parmakların kıvrıldığı yöne benzer bindirmek için saat yönünde çevirin. Uygun bir ayarlama dönüşü verildiğinde tüm çevirme açıları aynı olduğundan, orijinal çevirme veya yansıtma dönüşümünün açısını belirlemenin matematiksel bir yolu yoktur. NOT: TypeFlip, GENERAL_TRANSFORM’dan sonra eklendi public dolaşımdaydı ve bayrak bitleri, external kodunda ikili uyumsuzluk oluşturmadan artık uygun şekilde yeniden numaralandırılamıyordu.
const TypeGeneralRotationBu bayrak biti, bu object tarafından tanımlanan dönüşümün, diğer bayrak bitleri tarafından belirtilen dönüşümlerine ek olarak isteğe bağlı bir açıyla döndürme gerçekleştirdiğini 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ştirmeden. Bu bayrak biti, the ile birbirini dışlar.
const TypeGeneralScaleGenel bir ölçek, dikey vektörler arasındaki açı ‘yi değiştirmeden x ve y yönlerinde vektörlerin uzunluğunu farklı miktarlarıyla çarpar. Bu bayrak biti, TypeUniformScale bayrağıyla birbirini dışlar.
const TypeGeneralTransformBu sabit, bu object tarafından tanımlanan dönüşümün giriş koordinatlarının keyfi bir dönüşümünü gerçekleştirdiğini gösterir. Bu dönüşüm yukarıdaki sabitlerden herhangi biri tarafından sınıflandırılabilirse, tür, ya sabit TypeIdentity ya da uygun bayrağın a birleşimi olacaktır. bu dönüşümün gerçekleştirdiği çeşitli koordinat dönüşümleri için bitler.
const TypeIdentityBir kimlik dönüşümü, çıkış koordinatlarının her zaman giriş koordinatlarıyla aynı olduğu bir dönüşümdür. Bu dönüşüm, kimlik dönüşümünden başka bir şeyse, tür ya sabit GENERAL_TRANSFORM ya da uygun bayrak bitlerinin a birleşimi olacaktır. bu dönüşümün gerçekleştirdiği çeşitli koordinat dönüşümleri.
const TypeMaskRotationBu sabit, döndürme bayrağı bitlerinden herhangi biri için bir bit maskesidir.
const TypeMaskScaleBu sabit, herhangi bir ölçek bayrağı biti için bir bit maskesidir.
const TypeQuadrantRotationBu bayrak biti, bu object tarafından tanımlanan dönüşümün, diğer bayrak bitleri tarafından belirtilen dönüşümlere ek olarak, in 90 derecenin katları kadar bir kadran dönüşü gerçekleştirdiğini gösterir. Bir döndürme, orijinal yönden bağımsız olarak vektörlerin açılarını aynı miktarda değiştirir vektörün ve vektörün uzunluğunu değiştirmeden. Bu bayrak biti, TypeGeneralRotation bayrağıyla birbirini dışlar.
const TypeTranslationBir öteleme, vektörlerin uzunluğunu veya açısını değiştirmeden koordinatları x ve y’de sabit bir miktarda hareket ettirir.
const TypeUniformScaleTek biçimli bir ölçek, vektörlerin uzunluğunu, vektörler arasındaki açıyı değiştirmeden hem x hem de y yönlerinde aynı miktarda ile çarpar. Bu bayrak biti, TypeGeneralScale bayrağıyla birbirini dışlar.

Notlar

Algoritmaların çoğu Sun’ın AffineTransform.java’sından alınmıştır. Dahili olarak kullanılan matris öğeleri için Java’nın adları. Java adlarının .net adlarına eşleştirilmesi: m00 M11 Scale X m10 M12 Shear Y m01 M21 Shear Y m01 M21 Shear X m M Çevir X m12 M32 Çevir Y

Ayrıca bakınız