Freigeben über


ColorMatrix-Konstruktor (Single[] )

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

Dieser Konstruktor ist nicht CLS-kompatibel.  

Namespace: System.Drawing.Imaging
Assembly: System.Drawing (in system.drawing.dll)

Syntax

'Declaration
<CLSCompliantAttribute(False)> _
Public Sub New ( _
    newColorMatrix As Single()() _
)
'Usage
Dim newColorMatrix As Single()()

Dim instance As New ColorMatrix(newColorMatrix)
[CLSCompliantAttribute(false)] 
public ColorMatrix (
    float[][] newColorMatrix
)
[CLSCompliantAttribute(false)] 
public:
ColorMatrix (
    array<array<float>^>^ newColorMatrix
)
/** @attribute CLSCompliantAttribute(false) */ 
public ColorMatrix (
    float[][] newColorMatrix
)
CLSCompliantAttribute(false) 
public function ColorMatrix (
    newColorMatrix : float[][]
)

Parameter

  • newColorMatrix
    Die Werte der Elemente des neuen ColorMatrix-Objekts.

Beispiel

Im folgenden Codebeispiel wird das Erstellen und Verwenden eines ColorMatrix veranschaulicht. Fügen Sie zum Ausführen des Beispiels den Code in ein Windows Form ein, und rufen Sie RotateColors in der Paint-Ereignisbehandlungsmethode des Formulars auf, wobei Sie e als PaintEventArgs übergeben.

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
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);

}

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ColorMatrix-Klasse
ColorMatrix-Member
System.Drawing.Imaging-Namespace