Bagikan melalui


ColorMatrix Konstruktor

Definisi

Menginisialisasi instans baru kelas ColorMatrix.

Overload

ColorMatrix()

Menginisialisasi instans baru kelas ColorMatrix.

ColorMatrix(ReadOnlySpan<Single>)

Menginisialisasi instans baru kelas ColorMatrix dengan elemen dalam matriks yang ditentukan.

ColorMatrix(Single[][])

Menginisialisasi instans baru kelas ColorMatrix menggunakan elemen dalam matriks yang ditentukan newColorMatrix.

ColorMatrix()

Sumber:
ColorMatrix.cs
Sumber:
ColorMatrix.cs

Menginisialisasi instans baru kelas ColorMatrix.

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

Berlaku untuk

ColorMatrix(ReadOnlySpan<Single>)

Sumber:
ColorMatrix.cs

Menginisialisasi instans baru kelas ColorMatrix dengan elemen dalam matriks yang ditentukan.

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>

Nilai elemen matriks baru.

Pengecualian

newColorMatrix tidak memiliki 25 nilai.

Berlaku untuk

ColorMatrix(Single[][])

Sumber:
ColorMatrix.cs
Sumber:
ColorMatrix.cs

Penting

API ini bukan kompatibel CLS.

Menginisialisasi instans baru kelas ColorMatrix menggunakan elemen dalam matriks yang ditentukan 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[][]

Nilai elemen untuk ColorMatrixbaru .

Atribut

Contoh

Contoh kode berikut menunjukkan cara membuat dan menggunakan ColorMatrix. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil RotateColors dari metode penanganan peristiwa Paint formulir yang melewati e sebagai PaintEventArgs.

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

Berlaku untuk