2017年7月3日月曜日

Bitmapのデータ構造(Strideの計算)

Bitmapの4Byteのアライメント

Bitmapの4Byteのアライメントの簡単な計算方法をメモ。

var stride = (width * bitcount + 31)/32*4;

補足


4Byteのアライメントを計算する際に、Byte単位で計算すると、次の通り。

var lineSize = width * bitcount/4;
lineSize = (lineSize +3)  / 4 *4;

これをbit単位で計算すると、

var stride = (width * bitcount + 31)/32*32;

となり、Byteに変換すると、
var stride = (width * bitcount + 31)/32*32 / 8;
なので、
var stride = (width * bitcount + 31)/32*4;

で計算可能になる。 

0 件のコメント:

コメントを投稿