1.问题描述
很多朋友可能都会遇到图片旋转的相关编程,一般的图像处理的书里面都会用一个自己写的函数对一个大的数组进行操作来解决旋转问题,这些函数往往还需要很多输入参数,如图片的大小,位的深度之类的,为了处理多种格式的图片我们往往需要重复编写代码,这样非常麻烦。
2.SetWorldTransForm函数
其实Windows 本身就提供了一个API函数SetWorldTransForm来解决图片旋转、位移及其他变形,这个函数是对一个设备上下文DC进行操作,通过坐标转换来实现各种功能的。
SetWorldTransForm内部的算法其实相当于用线性代数里矩阵与一个向量相乘的办法来解决图形的变换,只要我们知道要乘上的变换方程是哪一个,就能进行各种变换(不止是旋转)。
参考这篇文章的内容:Using SetWorldTransform() to rotate basic shapes by any angle - CodeProject