ColorMatrix Konstruktoren

Definition

Initialisiert eine neue Instanz der ColorMatrix-Klasse.

Überlädt

Name Beschreibung
ColorMatrix()

Initialisiert eine neue Instanz der ColorMatrix-Klasse.

ColorMatrix(ReadOnlySpan<Single>)

Initialisiert eine neue Instanz der ColorMatrix Klasse mit den Elementen in der angegebenen Matrix.

ColorMatrix(Single[][])

Initialisiert eine neue Instanz der Klasse mithilfe der ColorMatrix Elemente in der angegebenen Matrix newColorMatrix.

ColorMatrix()

Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs

Initialisiert eine neue Instanz der ColorMatrix-Klasse.

public:
 ColorMatrix();
public ColorMatrix();
Public Sub New ()

Gilt für:

ColorMatrix(ReadOnlySpan<Single>)

Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs

Initialisiert eine neue Instanz der ColorMatrix Klasse mit den Elementen in der angegebenen Matrix.

public:
 ColorMatrix(ReadOnlySpan<float> newColorMatrix);
public ColorMatrix(scoped ReadOnlySpan<float> newColorMatrix);
new System.Drawing.Imaging.ColorMatrix : ReadOnlySpan<single> -> System.Drawing.Imaging.ColorMatrix
Public Sub New (newColorMatrix As ReadOnlySpan(Of Single))

Parameter

newColorMatrix
ReadOnlySpan<Single>

Die Werte der Elemente der neuen Matrix.

Ausnahmen

newColorMatrix hat keine 25 Werte.

Gilt für:

ColorMatrix(Single[][])

Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs
Quelle:
ColorMatrix.cs

Wichtig

Diese API ist nicht CLS-kompatibel.

Initialisiert eine neue Instanz der Klasse mithilfe der ColorMatrix Elemente in der angegebenen Matrix newColorMatrix.

public:
 ColorMatrix(cli::array <cli::array <float> ^> ^ newColorMatrix);
[System.CLSCompliant(false)]
public ColorMatrix(float[][] newColorMatrix);
[<System.CLSCompliant(false)>]
new System.Drawing.Imaging.ColorMatrix : single[][] -> System.Drawing.Imaging.ColorMatrix
Public Sub New (newColorMatrix As Single()())

Parameter

newColorMatrix
Single[][]

Die Werte der Elemente für das neue ColorMatrix.

Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht das Erstellen und Verwenden eines ColorMatrix. Um dieses Beispiel auszuführen, fügen Sie den Code in ein Windows Formular ein, und rufen Sie RotateColors aus der Paint Ereignisbehandlungsmethode auf, die e als PaintEventArgs übergibt.

private void RotateColors(PaintEventArgs e)
{
    Bitmap image = new Bitmap("RotationInput.bmp");
    ImageAttributes imageAttributes = new ImageAttributes();
    int width = image.Width;
    int height = image.Height;
    float degrees = 60f;
    double r = degrees * System.Math.PI / 180; // degrees to radians

    float[][] colorMatrixElements = { 
        new float[] {(float)System.Math.Cos(r),  (float)System.Math.Sin(r),  0,  0, 0},
        new float[] {(float)-System.Math.Sin(r),  (float)-System.Math.Cos(r),  0,  0, 0},
        new float[] {0,  0,  2,  0, 0},
        new float[] {0,  0,  0,  1, 0},
        new float[] {0, 0, 0, 0, 1}};

    ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);

    imageAttributes.SetColorMatrix(
       colorMatrix,
       ColorMatrixFlag.Default,
       ColorAdjustType.Bitmap);

    e.Graphics.DrawImage(image, 10, 10, width, height);

    e.Graphics.DrawImage(
       image,
       new Rectangle(150, 10, width, height),  // destination rectangle 
        0, 0,        // upper-left corner of source rectangle 
        width,       // width of source rectangle
        height,      // height of source rectangle
        GraphicsUnit.Pixel,
       imageAttributes);
}
Private Sub RotateColors(ByVal e As PaintEventArgs)
    Dim image As Bitmap = New Bitmap("RotationInput.bmp")
    Dim imageAttributes As New ImageAttributes()
    Dim width As Integer = image.Width
    Dim height As Integer = image.Height
    Dim degrees As Single = 60.0F
    Dim r As Double = degrees * System.Math.PI / 180 ' degrees to radians
    Dim colorMatrixElements As Single()() = { _
       New Single() {CSng(System.Math.Cos(r)), _
                     CSng(System.Math.Sin(r)), 0, 0, 0}, _
       New Single() {CSng(-System.Math.Sin(r)), _
                     CSng(-System.Math.Cos(r)), 0, 0, 0}, _
       New Single() {0, 0, 2, 0, 0}, _
       New Single() {0, 0, 0, 1, 0}, _
       New Single() {0, 0, 0, 0, 1}}

    Dim colorMatrix As New ColorMatrix(colorMatrixElements)

    imageAttributes.SetColorMatrix( _
       colorMatrix, _
       ColorMatrixFlag.Default, _
       ColorAdjustType.Bitmap)

    e.Graphics.DrawImage(image, 10, 10, width, height)

    ' Pass in the destination rectangle (2nd argument), the upper-left corner 
    ' (3rd and 4th arguments), width (5th argument),  and height (6th 
    ' argument) of the source rectangle.
    e.Graphics.DrawImage( _
       image, _
       New Rectangle(150, 10, width, height), _
       0, 0, _
       width, _
       height, _
       GraphicsUnit.Pixel, _
       imageAttributes)
End Sub

Gilt für: