试试这个
#include <graphics.h>
int main()
{
initgraph(640,480);
key_msg kmsg = {0};
PIMAGE MYimg=newimage(130,130);
PIMAGE MYimgdst=newimage(400,400);
//getimage(MYimg,"image","chuyin",130,130);
setfillcolor(RED,MYimg);
bar(0,0,130,130,MYimg);
setcolor(BLUE,MYimg);
outtextxy(24,48,"左键逆时针",MYimg);
outtextxy(24,96,"右键顺时针",MYimg);
float rad=0.0f;
int rad_temp=0;
int bkey=1;
for ( ; is_run();delay_fps(120))
{
while (kbmsg())
{
kmsg = getkey();//获取键盘信息
}
if (kmsg.msg == key_msg_down)
{
if (kmsg.key==key_left)
{
rad_temp += 1;
bkey=1;
}
else if(kmsg.key==key_right)
{
rad_temp -= 1;
bkey=1;
}
}
if ( bkey )
{
cleardevice(MYimgdst);
rad = float(rad_temp) / 180.0f * 3.14159f;
putimage_rotate(MYimgdst,//保存图像的 IMAGE 对象指针
MYimg,//要旋转图像的 IMAGE 对象指针
200,//复制在MYimgdst图像的区域左上角 x 坐标
200,//复制在MYimgdst图像的区域左上角 y 坐标
0.0f,//旋转图像的X中心 0.0f~1.0f 0为最左边 1为最右边
0.0f,//旋转图像的Y中心 0.0f~1.0f 0为最左边 1为最右边
rad,//旋转图像的弧度
0,
-1,
0);
putimage(0, 0, MYimgdst);//将图像显示在窗口上
bkey = 0;
}
}
//getch();
closegraph();
return 0;
}
#include <graphics.h>
int main()
{
initgraph(640,480);
key_msg kmsg = {0};
PIMAGE MYimg=newimage(130,130);
PIMAGE MYimgdst=newimage(400,400);
//getimage(MYimg,"image","chuyin",130,130);
setfillcolor(RED,MYimg);
bar(0,0,130,130,MYimg);
setcolor(BLUE,MYimg);
outtextxy(24,48,"左键逆时针",MYimg);
outtextxy(24,96,"右键顺时针",MYimg);
float rad=0.0f;
int rad_temp=0;
int bkey=1;
for ( ; is_run();delay_fps(120))
{
while (kbmsg())
{
kmsg = getkey();//获取键盘信息
}
if (kmsg.msg == key_msg_down)
{
if (kmsg.key==key_left)
{
rad_temp += 1;
bkey=1;
}
else if(kmsg.key==key_right)
{
rad_temp -= 1;
bkey=1;
}
}
if ( bkey )
{
cleardevice(MYimgdst);
rad = float(rad_temp) / 180.0f * 3.14159f;
putimage_rotate(MYimgdst,//保存图像的 IMAGE 对象指针
MYimg,//要旋转图像的 IMAGE 对象指针
200,//复制在MYimgdst图像的区域左上角 x 坐标
200,//复制在MYimgdst图像的区域左上角 y 坐标
0.0f,//旋转图像的X中心 0.0f~1.0f 0为最左边 1为最右边
0.0f,//旋转图像的Y中心 0.0f~1.0f 0为最左边 1为最右边
rad,//旋转图像的弧度
0,
-1,
0);
putimage(0, 0, MYimgdst);//将图像显示在窗口上
bkey = 0;
}
}
//getch();
closegraph();
return 0;
}
