- - PR -
C# Bitmapクラスの"行のメモリ サイズ"とは?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-17 18:49
説明を読んでもBitmpaクラスのコンストラクタの第3パラメータである"stride"の意味するところが良く分かりません。ストリームは理解できますが、"行"が何を意味するかが分からないので、"行のメモリ サイズ"が何を意味するのかも理解できません。
宜しくお願いします。 Bitmapクラスのコンストラクタの説明より(MSDNライブラリ) [C#] public Bitmap( int width, int height, int stride, PixelFormat format, IntPtr scan0 ); パラメータ width 新しい Bitmap オブジェクトの幅 (ピクセル単位)。 height 新しい Bitmap オブジェクトの高さ (ピクセル単位)。 stride ピクセル データのストリームの行のメモリ サイズ。 format 新しい Bitmap オブジェクトの PixelFormat 列挙体。 scan0 ピクセル データのストリームのアドレス。 |
|
投稿日時: 2005-04-17 20:28
今日は
Bitmapは左上より右端へ、その後一段下がり左より右端への繰り返しでメモリーに格納されています。 strideはその横1行に要するバイト数です。PixelFormatのバイト数に横のピクセル数をかけてオフセットを 追加したものです。 |
|
投稿日時: 2005-04-17 21:40
ありがとうございます。
つまりbmpの場合 640x480 8bitGray ---> 640 640x480 24bitRGB ---> 1920 でOKなのですね。 |
|
投稿日時: 2005-04-18 05:47
今日は
640x480 8bitGray 640x480 24bitRGB 共32BitPCではOffsetが0の為会っていると思います。 しかし、641x480 8bitGrayでは641でなく644と成ります(offset=3) |
1