目前在开发一个小游戏,使用 easyx 图形库开发的。目前遇到一个问题卡住了,我想让飞机机头一直朝外绕着地球顺时针地飞,但是,不知道怎么旋转图片???easyx 库并没有现成的函数啊?不知道有没有什么WIN32 API函数可以用吗??

上传的附件
你的回答被采纳后将获得: 12点积分 (将会扣除手续费1点积分。)

keyboard_arrow_left上一篇 : tcp socket服务端端口监听成功,但是客户端链接不上?? 汇编中,溢出标志和进位标志有什么区别?? : 下一篇keyboard_arrow_right

6个回答

Sametime
2019-03-06 09:23:01

感觉旋转图片很麻烦啊。。。

luckone
2019-03-06 10:15:43

可以用CImage和GDI+

BoyMeetsGirl
2019-03-06 13:53:14

用WIN32 API函数BitBlt、StretchBlt等绘图函数是旋转不了的,你可以使用SetWorldTransForm这个函数,可以实现旋转DC,从而实现图片旋转

Carewho
2019-03-06 18:53:38

通过矩形的中心坐标与原顶点坐标以及旋转角度,计算矩形的旋转后4个顶点的位置的公式如下:

  1. x2 = (x1-x0)*cos(q) –(y1-y0)*sin(q) + x0;
  2. y2 = (x1-x0)*sin(q) + (y1-y0)*cos(q) + y0;

其中,q表示矩形的旋转角度,x1表示矩形的原顶点横坐标,x0表示矩形的中心坐标。

但是,C语言中的sin()函数和cos()函数中的参数并不是角度,而是弧度,所以需要我们通过下述公式将角度转化为弧度:

  1. 弧度= 3.1415926*角度/180;

根据上述公式,我们可以计算一个点绕另一个点旋转一定角度后的位置坐标。

飞旋转的原理可以是:计算出图片各个点旋转后的坐标,再把每个点画到屏幕上!

Mockingjay
2019-03-07 08:55:42

easyx库没有旋转图片的函数的

WeAreOne
2019-04-05 09:38:12

SetWorldTransForm这个函数是旋转DC而已

精彩评论

  • [80x86汇编]imul 指令和mul 指令有什么区别?
    乘法运算对应的汇编指令有有符号 imul 和无符号 mul 两种
    2019-01-26 17:39:06 thumb_up( 5 )
  • [80x86汇编]imul 指令和mul 指令有什么区别?
    一个是有符号,一个是无符号
    2019-01-27 11:00:06 thumb_up( 4 )
  • [数据结构与算法]对链表设置头结点的作用是什么?
    一句话,方便开发
    2019-02-01 18:10:44 thumb_up( 2 )
  • 大数据 和 云计算 这两个概念有什么区别?
    (1)云计算(cloud computing)是商业化的超大规模分布式计算技术。即:用户可以通过已有的网络将所需要的庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的更庞大的系统,经搜寻、计算、分析之后将处理的结果回传给用户。最著名的就是Hadoop分散文件处理技术。 简单点说,云计算 = 云 + 计算 云 = 互联网 计算 = 处理 云比作互联网,我觉得很好理解,因为云跟互联网特性一样,是个看得见摸不着的物体,同时又存在于世界各地。 计算也就是处理,根据等法、加法得出的理解是 云计算 = 互联网 + 处理,这样就非常直观了。 所以,我对“云计算”简单的定义为:把信息都交给互联网处理。(2)大数据,字面意义就是很大的数据,但在应用中主要是数据挖掘等,大量的数据本身没有意义,而通过一些方法(比如数据挖掘的算法)对大量数据进行分析处理后,能通过计算机发现大量数据中有用的、有价值的东西,把大量数据转化为价值,这就是大数据。 大数据和云计算的概念区别:大数据说的是一种移动互联网和物联网背景下的应用场景,各种应用产生的巨量数据,需要处理和分析,挖掘有价值的信息;云计算说的是一种技术解决方案,就是利用这种技术可以解决计算、存储、数据库等一系列IT基础设施的按需构建的需求,两者并不是同一个层面的东西。
    2018-11-07 14:23:13 thumb_up( 7 )
  • 你上传资源到"WRITE-BUG技术共享平台"了吗
    我传了好多,也获得了好多积分!!!之前内测的时候我没有购买永久VIP,现在想要永久VIP却没有了。。。
    2019-02-09 17:23:00 thumb_up( 6 )
  • DOS汇编语言图形图像显示速度问题
    printfprintsystem.out.printlnTextOut
    2019-03-18 12:19:33 thumb_up( 1 )
eject