Class Matrix

Matrix class

GDI+ Matrisinin yerini alır.

public class Matrix

yapıcılar

İsimTanım
Matrix()Matrix sınıfının yeni bir örneğini kimlik matrisi olarak başlatır.
Matrix(Matrix)Şunun bir kopyasını oluşturur:Matrix sınıf.
Matrix(Rectangle, Point[])Yeni bir örneğini başlatır.Matrix 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ır.Matrix 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ır.Matrix sınıf.

Özellikleri

İsimTanım
Elements { get; }Bunun öğelerini temsil eden bir kayan noktalı değerler dizisi 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 elemanını alır. X ekseni boyunca kaymayı temsil eder.
M22 { get; }İkinci satır ikinci sütundaki matris elemanını alır. Y ekseni boyunca ölçeği temsil eder.
M31 { get; }Üçüncü satır birinci sütundaki matris elemanını alır. X ekseni boyunca ötelemeyi temsil eder.
M32 { get; }Üçüncü satır birinci sütundaki matris elemanını alır. Y ekseni boyunca ötelemeyi temsil eder.

yöntemler

İsimTanım
override Equals(object)Belirtilenin olup olmadığını belirler.Object bu örneğe eşittir.
GetElements()Matris elemanlarının 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 matrix parametresinde belirtilen matrisle çarpar.
Multiply(Matrix, MatrixOrder)Bu Matrisi, matrix parametresinde belirtilen matrisle ve order parametresinde belirtilen sırayla çarpar.
Reset()Bu Matrisi, birim matrisin öğelerine sahip olacak şekilde sıfırlar.
Rotate(float)Bu Matris için başlangıç noktası (sıfır x ve y koordinatları) etrafında, varsayılan (Başa eklenen) sırada, açı parametresinde belirtilen miktarda saat yönünde döndürme uygular.
Rotate(float, MatrixOrder)Belirtilen sırada bu Matris için başlangıç noktası (sıfır x ve y koordinatları) etrafında açı parametresinde belirtilen miktarda saat yönünde döndürme uygular.
RotateAt(float, PointF)Bu Matrise, varsayılan (Başa Ekleme) sırayla, belirtilen nokta etrafında saat yönünde bir dönüş uygular.
RotateAt(float, PointF, MatrixOrder)Belirtilen sırada bu Matrise belirtilen nokta etrafında saat yönünde dönüş uygular.
Scale(float, float)Belirtilen ölçek vektörünü (scaleX ve scaleY) (varsayılan) Başa Ekle sırasını kullanarak bu Matrise uygular.
Scale(float, float, MatrixOrder)Belirtilen ölçek vektörünü (scaleX ve scaleY) buna uygularMatrix belirtilen order. kullanılarak
override ToString()a döndürürString bu örneği temsil eder.
TransformPoints(PointF[])Bununla temsil edilen geometrik dönüşümü uygularMatrix belirli bir nokta dizisine.
Translate(float, float)Belirtilen çeviri vektörünü buna uygularMatrix (varsayılan) Başa Ekle sırası kullanılarak.
Translate(float, float, MatrixOrder)Belirtilen sırayla bu Matrise belirtilen öteleme vektörünü 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üştürmelere ek olarak, normalde sağ elli koordinat sistemini bir sol elli sistemine değiştiren bir eksen etrafında bir ayna görüntüsü çevirmesi gerçekleştirdiğini belirtir. Sağ elli bir koordinat sistemi pozitif X ekseninin pozitif Y ekseninin üzerine bindirmek için saat yönünün tersine döndüğü yerdir sağ elinizdeki parmakların başparmağınıza baktığınızda kıvrıldığı yöne benzer . pozitif Y eksenini sol elinizdeki parmakların kıvrıldığı yöne benzer kaplamak için saat yönünde çevirin. orijinal döndürme veya yansıtma dönüşümünün açısını belirlemenin matematiksel bir yolu yoktur, çünkü döndürmenin tüm açıları uygun bir ayarlama dönüşü verildiğinde aynıdır. NOT: GENERAL_TRANSFORM’dan sonra TypeFlip eklendi public dolaşımındaydı ve işaret bitleri, outer code. ‘de ikili uyumsuzluk getirmeden artık rahatça 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örlerin açıları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ştirmeden . Bu bayrak biti, the ile birbirini dışlar
const TypeGeneralScaleGenel bir ölçek, dikey vektörler arasındaki açıyı değiştirmeden, vektörlerin uzunluğunu x ve y yönlerinde 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ında keyfi bir dönüşüm 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 işaretin a kombinasyonu olacaktır. bu dönüşümün gerçekleştirdiği çeşitli koordinat dönüşümleri için bit.
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 a için uygun işaret bitlerinin kombinasyonu 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, ölçek bayrak bitlerinden herhangi biri 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, 90 derecenin katları olan bir çeyrek daire dönüşü gerçekleştirdiğini gösterir. Bir döndürme, vektörlerin açılarını, orijinal yöne bakılmaksızın aynı miktarda değiştirir ve vektörün uzunluğunu değiştirmeden olmadan. Bu bayrak biti, TypeGeneralRotation bayrağıyla birbirini dışlar.
const TypeTranslationÇeviri, vektörlerin uzunluğunu veya açısını değiştirmeden koordinatları x ve y’de sabit bir miktarda hareket ettirir.
const TypeUniformScaleDüzgün bir ölçek, vektörlerin uzunluğunu, x ve y yönlerinde aynı miktarda ile, arasındaki açıyı değiştirmeden çarpar vektörler. 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’e haritası, açıklamaya: m00 M11 Ölçek X m10 M12 Kesme Y m01 M21 Kesme X m11 M22 Ölçekli Y_x020 Çevir X m12 M32 Çevir Y

Ayrıca bakınız