<div dir="ltr">I have a test program that shows how BitBlt does not support rotation, when the rotation is specified by SetWorldTransform. Interestinly, the Rectangle() function works correctly and the rectangle is rotated.<div>

<br></div><div>Here's a screenshot of the program in <a href="http://imgur.com/TIYx7XU" target="_blank">VirtualBox and in Wine</a>.</div><div><br></div><div>Here is the code of the program. I'm setting a rotation XFORM, and then calling BitBlt. I load a bitmap file from the current directory for the BitBlt.<br>
</div><div><br></div><div><div><span class="" style="white-space:pre">                    </span>hdc = BeginPaint(hWnd, &ps);</div><div><span class="" style="white-space:pre">                   </span>double angle = 0.385398163;<br></div><div><span class="" style="white-space:pre">                      </span>XFORM xf;<br>
</div><div><span class="" style="white-space:pre">                        </span>xf.eDx = 0;</div><div><span class="" style="white-space:pre">                        </span>xf.eDy = 0;</div><div><span class="" style="white-space:pre">                        </span>xf.eM11 = cos(angle);</div>
<div><span class="" style="white-space:pre">                    </span>xf.eM12 = sin(angle);</div><div><span class="" style="white-space:pre">                      </span>xf.eM21 = -sin(angle);</div><div><span class="" style="white-space:pre">                     </span>xf.eM22 = cos(angle);</div>
<div><span class="" style="white-space:pre">                    </span>SetGraphicsMode(hdc, GM_ADVANCED);<br></div><div><span class="" style="white-space:pre">                       </span>SetWorldTransform(hdc, &xf);</div><div><span class="" style="white-space:pre">                   </span>HBITMAP hbmp = (HBITMAP) LoadImage( NULL, L"a.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);<br>
</div><div><span class="" style="white-space:pre">                        </span>HDC hmemdc = CreateCompatibleDC(hdc);</div><div><span class="" style="white-space:pre">                      </span>SelectObject(hmemdc, hbmp);</div><div><span class="" style="white-space:pre">                        </span>BitBlt(hdc, 100, 0, 150, 50, hmemdc, 0, 0, SRCCOPY);</div>
<div><span class="" style="white-space:pre">                    </span>EndPaint(hWnd, &ps);<br></div></div><div><br></div></div>