图片旋转!!

aaaa3105563 2009-04-22 09:00:10
有一个图片 在屏幕中间显示 想让这个图片沿着顺时针一秒的旋转 这么弄···求教··
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
my5123 2009-04-23
  • 打赏
  • 举报
回复
GDI+
SetTransform(Matrix*)

RotateAt(...)
leechrockgames 2009-04-23
  • 打赏
  • 举报
回复


//2D图rotate/move/scale

void scr_rotate(LHxx2DIMAGE *sc,float angle,float scale)
{
float dx,dy,dw,dh;//临时变量
float sw = sc->LHxxIw;//image width
float sh = sc->LHxxIh;//image height
float sclx,scly,sclw,sclh;//复位并放缩的坐标(局部坐标系--image的坐标系)

float hotx =sw/2;//旋转中心
float hoty =sh/2;
//复位 放缩 , 旋转 ,平移

float xscale=scale;
float yscale=scale;



//复位并放缩后的区域
sclx = -hotx*scale;
scly = -hoty*scale;


sclw = (sw - hotx);
sclh = (sh - hoty);

float sint, cost;
sint = sinf(angle);
cost = cosf(angle);

float w=sc->LHxxIw/2,h=sc->LHxxIh/2;

LHxxSCREENVERTEX* ss;
sc->LHxx2DMVertexBuffer->Lock( 0, 0, (void**)&ss, 0 );

((LHxxSCREENVERTEX *)ss)[0].LHxxSx = sclx*cost - scly*sint + sc->LHxxIx+w;
((LHxxSCREENVERTEX *)ss)[0].LHxxSy = sclx*sint + scly*cost + sc->LHxxIy+h;

((LHxxSCREENVERTEX *)ss)[1].LHxxSx = sclw*cost - scly*sint + sc->LHxxIx+w;
((LHxxSCREENVERTEX *)ss)[1].LHxxSy = sclw*sint + scly*cost + sc->LHxxIy+h;

((LHxxSCREENVERTEX *)ss)[2].LHxxSx = sclx*cost - sclh*sint + sc->LHxxIx+w;
((LHxxSCREENVERTEX *)ss)[2].LHxxSy = sclx*sint + sclh*cost + sc->LHxxIy+h;

((LHxxSCREENVERTEX *)ss)[3].LHxxSx = sclw*cost - sclh*sint + sc->LHxxIx+w;
((LHxxSCREENVERTEX *)ss)[3].LHxxSy = sclw*sint + sclh*cost + sc->LHxxIy+h;


sc->LHxx2DMVertexBuffer->Unlock();
}

flm007 2009-04-23
  • 打赏
  • 举报
回复
如果你只旋转90°那么GDI+很简单就可以实现了!!
如果你要任意角旋转,那就要计算旋转圆心,坐标,还要保持足够大旋转空间不然会变形
lucklizhan 2009-04-23
  • 打赏
  • 举报
回复
根据坐标来做旋转变换,再插值!

http://game.chinaitlab.com/devdoc/720850.html
zxfone 2009-04-23
  • 打赏
  • 举报
回复
so easy。。
使用CxImage类库,先加载图片,然后调用CxImage::Rotate()方法,随便你调什么角度,代码量不超过10行。。
zzz822163 2009-04-23
  • 打赏
  • 举报
回复
http://www.51log.net/dev/5010/5017325.htm
lambochan 2009-04-22
  • 打赏
  • 举报
回复
easy job..

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧