Class Matrix
Nome do espaço: Aspose.Imaging Assembleia: Aspose.Imaging.dll (25.5.0)
Substitui o GDI+ Matrix.
[JsonObject(MemberSerialization.OptIn)]
public class MatrixInheritance
Membros herdados
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
A maioria dos algoritmos tirados da Sun’s AffineTransform.java.Os nomes do Java para os elementos da matriz são usados internamente.Mapa de nomes de java para .net para descrever:M00 M11 Escala XM10 M12 Shear YM01 M21 Aço XM11 M22 Escala Ym02 M31 Tradução XM12 M32 Tradução Y
Constructors
Matrix()
Inicializa uma nova instância da classe Matrix como a matriz de identidade.
public Matrix()Matrix(Flóia, Flóia, Flóia, Flóia, Flóia)
Inicia uma nova instância da classe Aspose.Imaging.Matrix.
[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)Parameters
m11 float
M00 M11 Escala X
m12 float
M10 M12 Shear Y
m21 float
M01 M21 Aço X
m22 float
M11 M22 Escala Y
m31 float
m02 M31 Tradução X
m32 float
M12 M32 Tradução Y
Matrix(RectangleF e PointF[])
Inicializa uma nova instância da classe Aspose.Imaging.Matrix para a transformação geométrica definida pelo rectangulo especificado e por uma série de pontos.
public Matrix(RectangleF rect, PointF[] plgpts)Parameters
rect RectangleF
Uma estrutura Aspose.Imaging.RectangleF que representa o rectangle a ser transformado.
plgpts PointF
[ ]
Uma série de três estruturas Aspose.Imaging.PointF que representam os pontos de um paralelograma para o qual os cantos superior-esquerda, superior-direita e inferior-esquerda do rectangular devem ser transformados.
Matrix(O ponto, o ponto[])
Inicializa uma nova instância da classe Aspose.Imaging.Matrix para a transformação geométrica definida pelo rectangulo especificado e por uma série de pontos.
public Matrix(Rectangle rect, Point[] plgpts)Parameters
rect Rectangle
Uma estrutura de Aspose.Imaging.Rectangle que representa o rectangle a ser transformado.
plgpts Point
[ ]
Uma série de três estruturas Aspose.Imaging.Point que representam os pontos de um paralelograma para o qual os cantos superior-esquerda, superior-direita e inferior-esquerda do rectangulo devem ser transformados.
Matrix(Matrix)
Faça uma cópia da classe Aspose.Imaging.Matrix.
public Matrix(Matrix origin)Parameters
origin Matrix
Uma matriz de base para lidar
Fields
TypeFlip
Este bit de bandeira indica que a transformação definida por este objetoexecuta uma imagem de espelho flip em torno de alguns eixos que mudam oSistema de coordenação normalmente direita em uma mão esquerdasistema, além das conversões indicadas por outros bits de bandeira.Um sistema de coordenadas de mão direita é um onde o positivo XO eixo gira contra o relógio para superar o eixo positivo Ysemelhante à direção que os dedos na mão direitacurl quando você olha para o fim em seu tom.Um sistema de coordenadas de mão esquerda é um onde o positivo XO eixo gira de maneira horária para superar o eixo positivo Y semelhantepara a direção que os dedos na mão esquerda curva.Não há maneira matemática de determinar o ângulo daFlipping original ou transformação de espelho de todos os ângulosA rotação de flip é idêntica dada a rotação de ajuste apropriada.NOTA: TypeFlip foi adicionado depois que GENERAL_TRANSFORM estava em públicoA circulação e os bits de bandeira não poderiam mais ser convenientesrenumbrado sem introduzir incompatibilidade binária no exteriorO Código.
public const int TypeFlip = 64Valor de campo
TypeGeneralRotation
Este bit de bandeira indica que a transformação definida por este objetoexecuta uma rotação por um ângulo arbitrário, além doConversões indicadas por outros bits de bandeira.Uma rotação muda os ângulos dos vetores pela mesma quantidadeindependentemente da direção original do vetor e semMudança do comprimento do vector.Esta bandeira é mutuamente exclusiva com o
public const int TypeGeneralRotation = 16Valor de campo
TypeGeneralScale
Uma escala geral multiplica o comprimento dos vetores por diferentesquantidades nas direções x e y sem mudar o ânguloentre os vetores perpendiculares.Este bit de bandeira é mutuamente exclusivo com a bandeira TypeUniformScale.
public const int TypeGeneralScale = 4Valor de campo
TypeGeneralTransform
Esta constante indica que a transformação definida por este objetoConversão arbitrária dos coordenados de entrada.Se essa transformação puder ser classificada por qualquer uma das constantes acima,O tipo será o tipo de identidade constante ou umcombinação dos bits de bandeira apropriados para as diferentes coordenadasConversões que esta transformação realiza.
public const int TypeGeneralTransform = 32Valor de campo
TypeIdentity
Uma transformação de identidade é uma na qual as coordenadas de output sãoSempre o mesmo que os coordenados de entrada.Se essa transformação é outra coisa que não a transformação da identidade,O tipo será o constante GENERAL_TRANSFORM ou umcombinação dos bits de bandeira apropriados para as diferentes coordenadasConversões que esta transformação realiza.
public const int TypeIdentity = 0Valor de campo
TypeMaskRotation
Esta constante é uma pequena máscara para qualquer um dos bits de bandeira de rotação.
public const int TypeMaskRotation = 24Valor de campo
TypeMaskScale
Esta constante é uma pequena máscara para qualquer um dos bits de bandeira de escala.
public const int TypeMaskScale = 6Valor de campo
TypeQuadrantRotation
Este bit de bandeira indica que a transformação definida por este objetorealiza uma rotação quadrante por alguns múltiplos de 90 graus emAlém das conversões indicadas por outros bits de bandeira.Uma rotação muda os ângulos dos vetores pela mesma quantidadeindependentemente da direção original do vetor e semMudança do comprimento do vector.Este bit de bandeira é mutuamente exclusivo com a bandeira TypeGeneralRotation.
public const int TypeQuadrantRotation = 8Valor de campo
TypeTranslation
Uma tradução move as coordenadas por uma quantidade constante em xe e sem alterar o comprimento ou ângulo dos vetores.
public const int TypeTranslation = 1Valor de campo
TypeUniformScale
Uma escala uniforme multiplica o comprimento dos vetores pela mesma quantidade.nas duas direções x e y, sem mudar o ângulo entreOs vectores.Este bit de bandeira é mutuamente exclusivo com a bandeira TypeGeneralScale.
public const int TypeUniformScale = 2Valor de campo
Properties
Elements
Obtenha uma série de valores que representam os elementos deste Aspose.Imaging.Matrix.
public float[] Elements { get; }Valor da propriedade
float [ ]
M11
Obtenha o elemento da matriz na primeira coluna da primeira linha. Representa a escala ao longo do eixo X.
[JsonProperty]
public float M11 { get; }Valor da propriedade
M12
Obtenha o elemento da matriz na primeira linha da segunda coluna. Representa a folha ao longo do eixo Y.
[JsonProperty]
public float M12 { get; }Valor da propriedade
M21
Obtenha o elemento da matriz na segunda linha da primeira coluna. Representa a folha ao longo do eixo X.
[JsonProperty]
public float M21 { get; }Valor da propriedade
M22
Obtenha o elemento da matriz na segunda coluna da segunda linha. Representa a escala ao longo do eixo Y.
[JsonProperty]
public float M22 { get; }Valor da propriedade
M31
Obtenha o elemento da matriz na primeira coluna da terceira linha. Representa a tradução ao longo do eixo X.
[JsonProperty]
public float M31 { get; }Valor da propriedade
M32
Obtenha o elemento da matriz na primeira coluna da terceira linha. Representa a tradução ao longo do eixo Y.
[JsonProperty]
public float M32 { get; }Valor da propriedade
Methods
Equals(Matriz e Matriz)
Determina se duas matrizes são iguais.
public static bool Equals(Matrix a, Matrix b)Parameters
a Matrix
A primeira matriz a ser comparada.
b Matrix
A segunda matriz a ser comparada.
Returns
É verdade se as matrizes são iguais.
Equals(Objeto)
Determina se o Sistema.Objeto especificado é igual a esta instância.
public override bool Equals(object obj)Parameters
obj object
O Sistema.Objeto para comparar com esta instância.
Returns
‘verdade’ se o Sistema.Objeto especificado é igual a esta instância; caso contrário, ‘falso’.
Exceptions
O parâmetro obj’ é nulo.
GetElements()
Obtenha a cópia dos elementos da matriz.
public float[] GetElements()Returns
float [ ]
Uma cópia dos elementos da matriz.
GetHashCode()
Retorna um código hash para esta instância.
public override int GetHashCode()Returns
Um código de hash para este exemplo, adequado para uso em algoritmos de hash e estruturas de dados como uma tabela de hash.
Multiply(Título: MatrixOrder)
Multiplica esta Matriz pela matriz especificada no parâmetro da matriz e na ordem especificada no parâmetro da ordem.
public void Multiply(Matrix tTx, MatrixOrder order)Parameters
tTx Matrix
O T. O T. O T. O T.
order MatrixOrder
A ordem, a ordem e a ordem.
Multiply(Matrix)
Multiplica esta Matriz pela matriz especificada no parâmetro da matriz usando (default) ordem Prepend.
public void Multiply(Matrix tTx)Parameters
tTx Matrix
A matriz é multiplicada.
Reset()
Resete esta matriz para ter os elementos da matriz de identidade.
public void Reset()Rotate(Armazém, MatrixOrder)
Aplique uma rotação horária de uma quantidade especificada no parâmetro ângulo, em torno da origem (coordenadas zero x e y) para esta Matriz na ordem especificada.
public void Rotate(float angle, MatrixOrder order)Parameters
angle float
O ângulo rotativo.
order MatrixOrder
A ordem da matriz.
Rotate(Flotação)
Aplique uma rotação horária de uma quantidade especificada no parâmetro ângulo, em torno da origem (coordenadas zero x e y) para esta Matriz na ordem padrão (Prepend).
public void Rotate(float angle)Parameters
angle float
O ângulo rotativo.
RotateAt(Título: PointF, MatrixOrder)
Aplique uma rotação horária sobre o ponto especificado para esta Matriz na ordem especificada.
public void RotateAt(float angle, PointF point, MatrixOrder order)Parameters
angle float
do ângulo.
point PointF
O ponto .
order MatrixOrder
com a ordem.
RotateAt(Cidade, PointF)
Aplique uma rotação horária sobre o ponto especificado para esta Matriz na ordem padrão (Prepend).
public void RotateAt(float angle, PointF point)Parameters
angle float
do ângulo.
point PointF
O ponto .
Scale(Flutão, Flutão, MatrixOrder)
Aplique o vetor de escala especificada (scaleX e scaleY) para este Aspose.Imaging.Matrix usando a ordem especificada.
public void Scale(float scaleX, float scaleY, MatrixOrder order)Parameters
scaleX float
A escala X.
scaleY float
A escala Y.
order MatrixOrder
com a ordem.
Scale(Flóia, Flóia)
Aplique o vetor de escala especificada (scaleX e scaleY) para esta Matriz usando (default) ordem Prepend.
public void Scale(float sx, float sy)Parameters
sx float
O sx. o sx. o sx.
sy float
O S. O S. O S. O S. O S.
ToString()
Retorna um System.String que representa essa instância.
public override string ToString()Returns
Um sistema.String que representa essa instância.
TransformPoints(pontof[])
Aplique a transformação geométrica representada por este Aspose.Imaging.Matrix a um conjunto especificado de pontos.
public void TransformPoints(PointF[] points)Parameters
points PointF
[ ]
Os pontos .
Translate(Flutão, Flutão, MatrixOrder)
Aplique o vetor de tradução especificado para esta Matriz na ordem especificada.
public void Translate(float offsetX, float offsetY, MatrixOrder order)Parameters
offsetX float
O desempenho x.
offsetY float
A desvantagem Y.
order MatrixOrder
com a ordem.
Translate(Flóia, Flóia)
Aplique o vetor de tradução especificado para este Aspose.Imaging.Matrix usando (default) ordem Prepend.
public void Translate(float tx, float ty)Parameters
tx float
O T. O T. O T. O T.
ty float
O T. O T. O T. O T.