...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

2023-03-19から1日間の記事一覧

HBITMAP(DDB)からBITMAPINFO(DIB)を得る

GetDIBits()を使う、以上。 で終わる話なのですが、BITMAPINFOを作成するために必要なメモリサイズを算出するのに手こずったので、結果だけ置いておきます。 なお、このコードで作成されるのは、スクリーンショットを撮ったときに得られるビットマップデータ…

BITMAPINFO(DIB)からHBITMAP(DDB)を得る

CreateDIBitmap()を使う、以上。 で終わる話ではあるのですが、パックされたビットマップの場合、BITMAPINFOの先頭アドレスとBITMAPINFOHEADERの内容から、後に続くカラーマスクとカラーパレットのバイト数を算出して、ピクセルデータ列の先頭アドレスを求め…

BITMAPINFOから画像データ全体のバイナリ列を得る

かなり手こずったので結果だけ置いておきます。 ubyte[] getBitmapBuffer(BITMAPINFO* pbi) { assert(pbi); const uint bitsPerPixel = pbi.bmiHeader.biPlanes * pbi.bmiHeader.biBitCount; const uint colorMaskBytes = { if (pbi.bmiHeader.biCompression…

DFL: PictureBoxのサンプルコード

dfl/examples/picturebox at master · Rayerd/dfl · GitHub 画像ファイルを簡単に表示することができるPictureBoxクラスのサンプルです。 Bitmapクラスで読み込める形式の画像ファイルなら表示できるようで、bmp、jpgは表示できました。 未確認ながらgifも可…