如何在Windows GDI中旋转位图?

H4c*_*0rD 11 c++ gdi

我如何在Windows GDI,C++中旋转位图?

Han*_*ant 8

你可以用GDI +(#include <gdiplus.h>)来做.Graphics类具有RotateTransform方法.这允许任意旋转.如果您只需要以90度的增量旋转,请使用Image :: RotateFlip(),这样效率会更高.

  • @Frank Krueger - 你必须能够在这个网站上阅读.要么是这样,要么在墙上扔面食,看看有什么棒. (5认同)
  • 我以为他要求GDI? (2认同)

Fra*_*ger 5

听起来你必须使用PlgBlt.将矩形的4个角作为2D点,旋转它们,然后调用PlgBlt.

MSDN位图旋转:

将位图复制到平行四边形; 使用PlgBlt函数,该函数执行从源设备上下文中的矩形到目标设备上下文中的平行四边形的位块传输.要旋转位图,应用程序必须提供以世界单位表示的坐标,以用于平行四边形的角.

  • PlgBlt文档特别提到不支持旋转转换。没错 链接:http://msdn.microsoft.com/en-us/library/dd162804%28VS.85%29.aspx (2认同)