ColorMatrix Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci ColorMatrix třídy.
Přetížení
ColorMatrix() |
Inicializuje novou instanci ColorMatrix třídy. |
ColorMatrix(ReadOnlySpan<Single>) |
Inicializuje novou instanci ColorMatrix třídy s prvky v zadané matici. |
ColorMatrix(Single[][]) |
Inicializuje novou instanci třídy ColorMatrix pomocí prvků v zadané matici |
ColorMatrix()
- Zdroj:
- ColorMatrix.cs
- Zdroj:
- ColorMatrix.cs
Inicializuje novou instanci ColorMatrix třídy.
public:
ColorMatrix();
public ColorMatrix ();
Public Sub New ()
Platí pro
ColorMatrix(ReadOnlySpan<Single>)
- Zdroj:
- ColorMatrix.cs
Inicializuje novou instanci ColorMatrix třídy s prvky v zadané matici.
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))
Parametry
- newColorMatrix
- ReadOnlySpan<Single>
Hodnoty prvků nové matice.
Výjimky
newColorMatrix
neměli 25 hodnot.
Platí pro
ColorMatrix(Single[][])
- Zdroj:
- ColorMatrix.cs
- Zdroj:
- ColorMatrix.cs
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Inicializuje novou instanci třídy ColorMatrix pomocí prvků v zadané matici 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()())
Parametry
- newColorMatrix
- Single[][]
Hodnoty prvků pro nový ColorMatrix.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak sestavit a použít ColorMatrix. Pokud chcete tento příklad spustit, vložte kód do formuláře Windows Form a volejte RotateColors
z Paint metody zpracování událostí formuláře, která předává e
jako 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