怎样画旋转效果的图形

SetWorldTransform - 函数功能

    函数功能:该函数为指定的设备环境设置全局空间和页面空间之间的二维的线性转变,此转换可用于比例缩放、旋转、剪切或翻译图形的输出。

    函数原型:BOOL SetWorldTransform(HDC hdc, CONST XFORM *lpXform);

    hdc:指向设备环境的句柄。

    lpxform:指向XFORM结构的指针,此结构含有转换数据。

SetWorldTransform - 返回值


    返回值:如果函数调用成功,返回值为非零值,否则为零。

    Windows NT:若想获得更多错误信息,请调用GetLastError函数。

    备注:对任何全局空间中的坐标点(X、Y),页面空间中的转换坐标点(X、Y)以下式来决定。

    X'=X*eM11+y*eM21+eDx, Y'+X*eM12+y*eM22+eDy

    转换矩阵为下列矩阵:

    |eM11 eM120|

    |eM21 eM220|

    |eDx eDy |        映射方式(由当前窗口和视口原点定义的)用于定义单位和比例。全局转换常用于以不依靠设备的方式来缩放或旋转逻辑图像。缺省全局转换是偏移为零的等同矩阵。除非先调用SetGraphicsMode函数将给定设备环境的图形模式设置为GM_ADVANCED,否则SetworldTranform函数调用将失败,同样,也不可能重新把设备环境的图形方式设置成缺省的GM_COMPATIBLE方式,除非全局转已经通过调用 SetWorldtransform或ModifyworldTransform函数首先重新设置缺省的等同转换。       速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:wingdi.h;库文件:gdi32.lib。


对于文字就只需要在字体中设置

  CFont    myFont;    //创建字体对象
    CFont    *pOldFont    = NULL;
    dc.SetBkMode(TRANSPARENT);
    dc.Rectangle(CRect(0,0,100,500));
   
    myFont.CreateFont(    56,//字体高度(旋转后的字体宽度)=56
                        20,        //字体宽度(旋转后的字体高度)=20
                        -2700,      //字体显示角度=270°
                        0,                  //nOrientation=0
                        10,                //字体磅数=10
                        FALSE,              //非斜体
                        FALSE,              //无下划线
                        FALSE,      //无删除线
                        DEFAULT_CHARSET,    //使用缺省字符集
                        OUT_DEFAULT_PRECIS, //缺省输出精度
                        CLIP_DEFAULT_PRECIS,//缺省裁减精度
                        DEFAULT_QUALITY,    //nQuality=缺省值
                        DEFAULT_PITCH,      //nPitchAndFamily=缺省值
                        "@华文行楷");        //字体名=@system
    pOldFont=dc.SelectObject(&myFont);//选入设备描述表
    dc.DrawText("中华人民共和国",CRect(0,0,100,500),DT_WORDBREAK|DT_RIGHT);
    myFont.DeleteObject();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值