ColorMatrix Konstruktor
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |
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