次の方法で共有


ColorMatrix コンストラクタ (Single[] )

指定した行列 newColorMatrix の要素を使用して、ColorMatrix クラスの新しいインスタンスを初期化します。

このコンストラクタは、CLS に準拠していません。  

名前空間: System.Drawing.Imaging
アセンブリ: System.Drawing (system.drawing.dll 内)

構文

'宣言
<CLSCompliantAttribute(False)> _
Public Sub New ( _
    newColorMatrix As Single()() _
)
'使用
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[][]
)

パラメータ

  • newColorMatrix
    新しい ColorMatrix の要素の値。

使用例

ColorMatrix を作成して使用する方法を次のコード例で示します。この例を実行するには、コードを Windows フォームに貼り付け、フォームの Paint イベント処理メソッドから、e を PaintEventArgs として渡すことにより、RotateColors を呼び出します。

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

}

プラットフォーム

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

参照

関連項目

ColorMatrix クラス
ColorMatrix メンバ
System.Drawing.Imaging 名前空間