閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

Gdiplus::Matrix -> SetWorldTransform API

回転した矩形を描くのに、 Polyline だといまいち綺麗に線が出ません。仕方が無いので API を使うことにしました。

g.GetTransform(&mx);
HDC hDC = g.GetHDC();
float elems[6];
mx.GetElements(elems);

::SetGraphicsMode(hDC, GM_ADVANCED);
::SetWorldTransform(hDC, reinterpret_cast<XFORM*>(elems));
::Rectangle(hDC, rect.left, rect.top, rect.right, rect.bottom);
    
g.ReleaseHDC(hDC);

しかしやってみたところあまり結果は変わりませんでした。元に戻すか……。