ホーム » 2019 » 11月 » 25

日別アーカイブ: 2019/11/25

2019年11月
 12
3456789
10111213141516
17181920212223
24252627282930

カテゴリー

アーカイブ

ブログ統計情報

  • 74,836 アクセス

Windows API で DIB のリサイズ

プログラミング Windows 第5版(上)
第14章 ビットマップと BitBlt
14.4 GDI ビットマップオブジェクト
HelloBit.c より

i_DIB	DIB_resize	(const i_DIB& dib,const SIZE& new_s)
{
	i_DIB	rsz_dib ;
	RECT	rect = {	0,0,	new_s.cx ,	new_s.cy	} ;
	{
		HDC 	hdc  = ::GetDC(NULL) ;
		HDC 	hmem = ::CreateCompatibleDC(hdc) ;
		HBITMAP	hbmp = ::CreateCompatibleBitmap(hdc,rect.right,rect.bottom) ;
		::SelectObject(hmem,hbmp) ;
		::ReleaseDC(NULL,hdc) ;
		::StretchDIBits(hmem,rect,::Get_DIB_RECT(dib),dib) ;
		i_DIB	rsz = ::ToDIB(hbmp) ;
		::DeleteDC(hmem) ;
		::DeleteObject(hbmp) ;
		rsz_dib = rsz ;
		}
	return	rsz_dib ;
	}

::StretchDIBits による DIB のリサイズ

この投稿は役に立ちましたか? 役に立った 役に立たなかった 0 人中 0 人がこの 投稿 は役に立ったと言っています。