ImageBuffer.Item Property
画像データのバイト数を取得、または設定します。
構文
[VB.NET]
Public Item( ByteIndex As Integer , LineIndex As Integer ) As Byte
Public Item( ByteIndex As Integer ) As Byte
[C#]Public byte Item[ int ByteIndex, int LineIndex ]
Public byte Item[ int ByteIndex ]
パラメータ | 説 明 |
---|---|
ByteIndex | 選択した画像、もしくは行に含まれるバイトのインデックスです。 |
LineIndex | 選択した行のインデックスです。 |
備考
画像データは上下が逆になっています。一番下の行がラインインデックス0を持ち、その行の左端のピクセルがバイトインデックス0を持っています。バイトパーピクセルはそのImageBufferクラスライブラリリファレンス>クラス>ImageBufferのカラーフォーマットに依存します
サンプル
下記の例はイメージバッファのバイトアドレスを指定することで画像データにアクセスする方法を紹介しています。そして画像に明るさ(ブライトネス)を加えます。
[VB.NET]Dim Buf As ImageBuffer Buf = IcImagingControl1.ImageActiveBuffer
Dim p As Integer
Dim imageSize As Integer imageSize = Buf.Lines * Buf.PixelPerLine * Buf.BitsPerPixel / 8
For p = 0 To imageSize - 1
Dim c As Integer
' バイト値を取得
c = Buf(p)
' そこに明るさを加える
c = c + 20
If c > 255 Then c = 255
' バッファに書き込む
Buf(p) = c
Next
[C#]ImageBuffer Buf = ICImagingControl1.ImageActiveBuffer;
int p = 0;
int imageSize = Buf.Lines * Buf.PixelPerLine * Buf.BitsPerPixel / 8;
for (p = 0; p < imageSize; p++)
{
// バイト値を取得
int c = Buf[p];
// そこに明るさを加える
c = c + 20;
if (c > 255)
{
c = 255;
}
// バッファに書き込む
Buf[p] = (byte)c;
}
他に行やその中のバイト値を指定して行う処理としては、以下の例のようにイメージバッファを反転させるというものもございます。
[VB.NET]Dim Buf As ImageBuffer
Buf = IcImagingControl1.ImageActiveBuffer
Dim y As Integer
Dim x As Integer
Dim lineWidth As Integer lineWidth = Buf.PixelPerLine * Buf.BitsPerPixel / 8
For y = 0 To Buf.Lines - 1
For x = 0 To lineWidth - 1
' カラーバリューを反転
Buf(x, y) = 255 - Buf(x, y)
Next
Next
[C#]ImageBuffer Buf = ICImagingControl1.ImageActiveBuffer;
int y = 0;
int x = 0;
int lineWidth = Buf.PixelPerLine * Buf.BitsPerPixel / 8;
for (y = 0; y < Buf.Lines; y++)
{
for (x = 0; x < lineWidth; x++)
{
// カラーバリューを反転
Buf[x, y] = (byte)(255 - Buf[x, y]);
}
}
関連項目
ImageAvailableEventArgs.ImageBufferクラスライブラリリファレンス>クラス>ImageAvailableEventArgs>ImageAvailableEventArgs.ImageBuffer Property, ImageBuffer.Linesクラスライブラリリファレンス>クラス>ImageBuffer>ImageBuffer.Lines Property, ImageBuffer.PixelPerLineクラスライブラリリファレンス>クラス>ImageBuffer>ImageBuffer.PixelPerLine Property, ImageBuffer.BitsPerPixelクラスライブラリリファレンス>クラス>ImageBuffer>ImageBuffer.BitsPerPixel Property