Class Matrix
ชื่อพื้นที่: Aspose.Imaging การประกอบ: Aspose.Imaging.dll (25.5.0)
เปลี่ยน GDI + Matrix
[JsonObject(MemberSerialization.OptIn)]
public class MatrixInheritance
อนุญาโตตุลาการ
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
แอลกอริทึมส่วนใหญ่ได้รับจาก Sun’s AffineTransform.javaชื่อของ Java สําหรับองค์ประกอบแม่เหล็กที่ใช้ภายในแผนที่ชื่อ Java ไปยัง .net เพื่ออธิบาย:m00 M11 ระดับ Xm10 M12 Shear Ym01 M21 Shear Xm11 M22 ระดับ Ym02 M31 การแปล Xm12 M32 การแปล Y
Constructors
Matrix()
เริ่มต้นตัวอย่างใหม่ของเกรด Matrix เป็นเกรด identity
public Matrix()Matrix(เฟอร์รี่, เฟอร์รี่, เฟอร์รี่, เฟอร์รี่)
เริ่มต้นตัวอย่างใหม่ของชั้น Aspose.Imaging.Matrix
[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)Parameters
m11 float
m00 M11 ระดับ X
m12 float
m10 M12 Shear Y
m21 float
m01 M21 Shear X
m22 float
m11 M22 ระดับ Y
m31 float
m02 M31 การแปล X
m32 float
m12 M32 การแปล Y
Matrix(RectangleF, PointF[])
เริ่มต้นตัวอย่างใหม่ของคลาส Aspose.Imaging.Matrix ไปยังการเปลี่ยนแปลงทางภูมิศาสตร์ที่กําหนดโดยแนวตั้งที่ระบุและช่วงของจุด
public Matrix(RectangleF rect, PointF[] plgpts)Parameters
rect RectangleF
โครงสร้าง Aspose.Imaging.RectangleF ซึ่งแสดงให้เห็นถึงแนวตั้งที่จะมีการเปลี่ยนแปลง
plgpts PointF
[ ]
ชุดของสาม Aspose.Imaging.PointF โครงสร้างที่แสดงให้เห็นถึงจุดของ parallelogram ซึ่งมุมด้านบนด้านซ้ายด้านบนและด้านล่างด้านซ้ายของแนวตั้งจะถูกแปลง มุมด้านล่างด้านซ้ายของ parallelogram จะถูกนํามาใช้โดยสามมุมแรก
Matrix(หมายเลขรุ่น: Point[])
เริ่มต้นตัวอย่างใหม่ของคลาส Aspose.Imaging.Matrix ไปยังการเปลี่ยนแปลงทางภูมิศาสตร์ที่กําหนดโดยแนวตั้งที่ระบุและช่วงของจุด
public Matrix(Rectangle rect, Point[] plgpts)Parameters
rect Rectangle
โครงสร้าง Aspose.Imaging.Rectangle ซึ่งแสดงให้เห็นถึงแนวตั้งที่จะมีการเปลี่ยนแปลง
plgpts Point
[ ]
ชุดของสาม Aspose.Imaging.Point โครงสร้างที่แสดงให้เห็นถึงจุดของ parallelogram ซึ่งมุมด้านบนด้านซ้ายด้านบนและด้านล่างด้านซ้ายของแนวตั้งจะถูกแปลง มุมด้านล่างด้านซ้ายของ parallelogram จะถูกนํามาใช้โดยสามมุมแรก
Matrix(Matrix)
ทําสําเนาของคลาส Aspose.Imaging.Matrix
public Matrix(Matrix origin)Parameters
origin Matrix
ฐาน Matrix สําหรับการจัดการ
Fields
TypeFlip
ชิ้นนี้หมายความว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําภาพกระจก flip รอบบางแกนซึ่งเปลี่ยนภาพระบบคํานวณแขนขวาตามปกติไปยังแขนขวาระบบนอกเหนือจากการแปลงที่ระบุโดยไบต์ป้ายอื่น ๆระบบคํานวณด้านขวาคือหนึ่งในที่ X ที่ดีaxis rotates counterclockwise เพื่อเอาชนะ axis Y ที่บวกเช่นเดียวกับทิศทางที่นิ้วมือบนมือขวาของคุณcurl เมื่อคุณ stare end บน thumb ของคุณระบบคํานวณด้านซ้ายเป็นหนึ่งในที่ X ที่บวกแกนหมุนชั่วโมงเพื่อเอาชนะแกน Y ที่บวกเช่นกันไปในทิศทางที่นิ้วมือบนมือซ้ายของคุณโค้งไม่มีวิธีทางแม่นยําในการกําหนดมุมของการแปลงแบบดั้งเดิมหรือกระจกจากมุมใด ๆของ flip เป็นเดียวกันตามการหมุนการปรับที่เหมาะสมหมายเหตุ: TypeFlip ที่เพิ่มหลังจาก GENERAL_TRANSFORM เป็นสาธารณะการไหลเวียนและบิตป้ายอาจไม่สะดวกมากขึ้นหมายเลขใหม่โดยไม่แนะนําความไม่เข้ากันได้ไบนารีในภายนอกรหัส
public const int TypeFlip = 64หมายเลข
TypeGeneralRotation
ชิ้นนี้หมายความว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําการหมุนด้วยมุมที่กําหนดเองนอกเหนือจากแปลงที่ระบุโดยไบต์ป้ายอื่น ๆการหมุนเปลี่ยนมุมของ vectors ด้วยจํานวนเดียวกันไม่ว่าทิศทางเดิมของ vector และไม่มีเปลี่ยนความยาวของ vectorชิ้นส่วนนี้เป็นเอกลักษณ์อย่างเป็นมิตรกับ
public const int TypeGeneralRotation = 16หมายเลข
TypeGeneralScale
ระดับทั่วไปเพิ่มความยาวของ vectors โดยแตกต่างกันจํานวนในทิศทาง x และ y โดยไม่ต้องเปลี่ยนมุมระหว่าง vectors perpendicularบิตสัญญาณนี้เป็นเอกลักษณ์กับสัญญาณสัญญาณสัญญาณ TypeUniformScale
public const int TypeGeneralScale = 4หมายเลข
TypeGeneralTransform
เถื่อนนี้แสดงให้เห็นว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําการแปลงอัจฉริยะของโค้ด inputหากการแปลงนี้สามารถแบ่งออกได้โดยหนึ่งในแถบข้างต้นประเภทนี้จะเป็น TypeIdentity หรือ TypeIdentityการผสมผสานของป้ายที่เหมาะสมสําหรับโค้ดที่แตกต่างกันการแปลงที่การแปลงนี้ดําเนินการ
public const int TypeGeneralTransform = 32หมายเลข
TypeIdentity
การแปลง identity เป็นหนึ่งในที่การจัดเรียงการส่งออกมักจะเหมือนกันกับคํานวณการเข้าหากการเปลี่ยนแปลงนี้เป็นสิ่งอื่นกว่าการเปลี่ยนแปลง identityประเภทนี้จะเป็นแบบคงที่ GENERAL_TRANSFORM หรือ Aการผสมผสานของป้ายที่เหมาะสมสําหรับโค้ดที่แตกต่างกันการแปลงที่การแปลงนี้ดําเนินการ
public const int TypeIdentity = 0หมายเลข
TypeMaskRotation
เถื่อนนี้เป็นหน้ากากเล็ก ๆ สําหรับป้ายหมุนใด ๆ
public const int TypeMaskRotation = 24หมายเลข
TypeMaskScale
เถื่อนนี้เป็นหน้ากากเล็ก ๆ สําหรับบิตป้ายใด ๆ ของสแกน
public const int TypeMaskScale = 6หมายเลข
TypeQuadrantRotation
ชิ้นนี้หมายความว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําการหมุนสี่เหลี่ยมด้วยหลายของ 90 องศาในนอกจากการแปลงที่ระบุโดยไบต์ป้ายอื่น ๆการหมุนเปลี่ยนมุมของ vectors ด้วยจํานวนเดียวกันไม่ว่าทิศทางเดิมของ vector และไม่มีเปลี่ยนความยาวของ vectorชิ้นส่วนธงนี้เป็นพิเศษกับธง TypeGeneralRotation
public const int TypeQuadrantRotation = 8หมายเลข
TypeTranslation
การแปลจะเคลื่อนย้ายโค้ดโดยจํานวนคงที่ใน xและ y โดยไม่เปลี่ยนความยาวหรือมุมของ vectors
public const int TypeTranslation = 1หมายเลข
TypeUniformScale
ระดับสม่ําเสมอเพิ่มความยาวของ vectors ด้วยจํานวนเดียวกันในทั้งทิศทาง x และ y โดยไม่ต้องเปลี่ยนมุมระหว่างวอเตอร์บิตสัญญาณนี้เป็นเอกลักษณ์กับสัญญาณสัญญาณ TypeGeneralScale
public const int TypeUniformScale = 2หมายเลข
Properties
Elements
ได้รับจํานวนของมูลค่าของจุดไหลซึ่งแสดงให้เห็นถึงองค์ประกอบของ Aspose.Imaging.Matrix
public float[] Elements { get; }คุณสมบัติมูลค่า
float [ ]
M11
ได้รับองค์ประกอบของแม่เหล็กในลําดับแรกคอลัมน์แรก แสดงการสแกนตามแกน X
[JsonProperty]
public float M11 { get; }คุณสมบัติมูลค่า
M12
ได้รับองค์ประกอบแม่เหล็กในลําดับแรกคอลัมน์ที่สอง แสดงแผ่นตามแกน Y
[JsonProperty]
public float M12 { get; }คุณสมบัติมูลค่า
M21
ได้รับองค์ประกอบของแม่เหล็กในคอลัมน์ครั้งแรกในลําดับที่สอง แสดงแผ่นตามแกน X
[JsonProperty]
public float M21 { get; }คุณสมบัติมูลค่า
M22
ได้รับองค์ประกอบของแม่เหล็กในคอลัมน์ที่สองแถวที่สอง แสดงการสแกนตามแกน Y
[JsonProperty]
public float M22 { get; }คุณสมบัติมูลค่า
M31
ได้รับองค์ประกอบของแม่เหล็กในแถวที่สามคอลัมน์แรก แสดงการแปลตามแกน X
[JsonProperty]
public float M31 { get; }คุณสมบัติมูลค่า
M32
ได้รับองค์ประกอบของแม่เหล็กในแถวที่สามคอลัมน์แรก แสดงการแปลตามแกน Y
[JsonProperty]
public float M32 { get; }คุณสมบัติมูลค่า
Methods
Equals(Matrix และ Matrix)
เรียนรู้ว่าสอง matrices เป็นเท่าเทียมกันหรือไม่
public static bool Equals(Matrix a, Matrix b)Parameters
a Matrix
matrix เป็นครั้งแรกที่จะเปรียบเทียบ
b Matrix
การเปรียบเทียบ Matrix 2
Returns
ความจริงถ้า matrixes เป็นเท่าเทียมกัน
Equals(วัตถุ)
กําหนดว่า System.Object ที่ระบุเท่ากับตัวอย่างนี้หรือไม่
public override bool Equals(object obj)Parameters
obj object
ระบบ.วัตถุในการเปรียบเทียบกับตัวอย่างนี้
Returns
‘จริง’ ถ้า System.Object ที่ระบุเท่ากับตัวอย่างนี้; ในทางอื่น ๆ, ‘ผิดพลาด’.
Exceptions
คะแนน obj’ เป็น null
GetElements()
ได้รับการคัดลอกขององค์ประกอบแม่เหล็ก
public float[] GetElements()Returns
float [ ]
การคัดลอกองค์ประกอบแม่เหล็ก
GetHashCode()
กลับรหัส hash สําหรับตัวอย่างนี้
public override int GetHashCode()Returns
รหัส hash สําหรับตัวอย่างนี้เหมาะสําหรับการใช้งานในอัลกอริทึม hashing และโครงสร้างข้อมูลเช่นตาราง hash
Multiply(Matrix และ MatrixOrder)
มัลติฟังก์ชัน Matrix นี้โดย Matrix ที่ระบุไว้ใน parameter matrix และในคําสั่งที่ระบุไว้ใน parameter คําสั่ง
public void Multiply(Matrix tTx, MatrixOrder order)Parameters
tTx Matrix
ชี ชี ชี ชี ชี ชี
order MatrixOrder
คําสั่งซื้อ คําสั่งซื้อ คําสั่งซื้อ
Multiply(Matrix)
ปั๊ม Matrix นี้โดย Matrix ที่ระบุไว้ใน parameter matrix โดยใช้คําสั่ง Prepend (เริ่มต้น)
public void Multiply(Matrix tTx)Parameters
tTx Matrix
matrix เพื่อเพิ่มขึ้นด้วย
Reset()
รีไซเคิล Matrix นี้เพื่อให้มีองค์ประกอบของ Matrix Identity
public void Reset()Rotate(ตลับลูกปืน, MatrixOrder)
ใช้การหมุนแบบชั่วโมงของจํานวนที่ระบุไว้ในพารามิเตอร์มุมรอบแหล่งกําเนิด (โซลูชัน 0 x และ y) สําหรับ Matrix นี้ในคําสั่งที่ระบุ
public void Rotate(float angle, MatrixOrder order)Parameters
angle float
มุมหมุน
order MatrixOrder
คําสั่งของแม่เหล็ก
Rotate(เฟอร์รี่)
ใช้การหมุนแบบชั่วโมงของจํานวนที่ระบุไว้ในพารามิเตอร์มุมรอบแหล่งกําเนิด (โซลูชัน 0 x และ y) สําหรับ Matrix นี้ในคําสั่งแบบกําหนดเอง (Prepend)
public void Rotate(float angle)Parameters
angle float
มุมหมุน
RotateAt(บลอนด์, PointF, MatrixOrder)
ใช้การหมุนตามนาฬิกาเกี่ยวกับจุดที่ระบุไว้สําหรับ Matrix นี้ในคําสั่งที่ระบุไว้
public void RotateAt(float angle, PointF point, MatrixOrder order)Parameters
angle float
กุมมอง
point PointF
จุด
order MatrixOrder
คําสั่ง
RotateAt(เฟอร์รี่, PointF)
ใช้การหมุนแบบชั่วโมงเกี่ยวกับจุดที่ระบุไปยัง Matrix นี้ในคําสั่งแบบกําหนดเอง (Prepend)
public void RotateAt(float angle, PointF point)Parameters
angle float
กุมมอง
point PointF
จุด
Scale(เฟอร์รี่, เฟอร์รี่, MatrixOrder)
ใช้ vector scale ที่กําหนด (scaleX และ scaleY) สําหรับ Aspose.Imaging.Matrix นี้โดยใช้คําสั่งที่กําหนด
public void Scale(float scaleX, float scaleY, MatrixOrder order)Parameters
scaleX float
ระดับ X
scaleY float
ระดับ Y
order MatrixOrder
คําสั่ง
Scale(เฟอร์รี่, เฟอร์รี่)
ใช้ vector scale (scaleX และ scaleY) สําหรับ Matrix นี้โดยใช้คําสั่ง Prepend (เริ่มต้น)
public void Scale(float sx, float sy)Parameters
sx float
The sx. The sx. The sx. The sx. The sx. The sx.
sy float
The Sy. The Sy. The Sy. The Sy. The Sy.
ToString()
กลับ System.String ที่แสดงตัวอย่างนี้
public override string ToString()Returns
ระบบ String ซึ่งเป็นตัวแทนของ instance นี้
TransformPoints(จุดหมายเลข[])
ใช้การเปลี่ยนแปลงทางภูมิศาสตร์ที่นําเสนอโดย Aspose.Imaging.Matrix สําหรับช่วงจุดที่กําหนด
public void TransformPoints(PointF[] points)Parameters
points PointF
[ ]
จุด
Translate(เฟอร์รี่, เฟอร์รี่, MatrixOrder)
ใช้ vector การแปลที่กําหนดสําหรับ Matrix ในคําสั่งที่กําหนด
public void Translate(float offsetX, float offsetY, MatrixOrder order)Parameters
offsetX float
อัฟเฟต X
offsetY float
การชําระเงิน Y
order MatrixOrder
คําสั่ง
Translate(เฟอร์รี่, เฟอร์รี่)
ใช้ vector การแปลที่ระบุสําหรับ Aspose.Imaging.Matrix นี้โดยใช้คําสั่ง (เริ่มต้น) Prepend
public void Translate(float tx, float ty)Parameters
tx float
ชี ชี ชี ชี ชี ชี
ty float
The ty. The ty. The ty. The ty. The ty. The ty.