DrawImage函数---旋转、反射和扭曲图像

  
    Status DrawImage(IN Image* image,
                     IN const PointF* destPoints,
                     IN INT count)
    {
        if (count != 3 && count != 4)
            return SetStatus(InvalidParameter);
       .............................................
   }

实现图片的反射和倾斜,只能为3-4个点,3个点依次为左上/右上/左下角,相对于图像的原始坐标映射
假设原始图像是一个矩形,其左上角、右上角和左下角分别位于 (0, 0)、(100, 0) 和 (0, 50)。
现在假设我们将这三个点按以下方式映射到目标点。
原始点目标点
左上角 (0, 0)   ------     (200, 20)
右上角 (100, 0)   ---- (110, 100)
左下角 (0, 50)     ---- (250, 30)

示例代码:

Bitmap orgpic(_T("D:\\1.PNG")) ;
	Graphics g(GetDC()->GetSafeHdc()) ;
	PointF desPoint[] = \
	{
		PointF(orgpic.GetWidth(),0) ,                  //top-left--------------对应原图(0,0)
		PointF(orgpic.GetWidth()+orgpic.GetHeight(), orgpic.GetWidth()) ,//top-right-----对应原图(orgpic.GetWidth(),0)
		PointF(0,orgpic.GetHeight())                   //low-left-----对应原图(0,orgpic.GetHeight())
	};
	g.DrawImage(&orgpic, desPoint, 3) ;
顺时针旋转了45度变大。
具体可用MSDN搜Graphics Methods
http://msdn.microsoft.com/zh-cn/library/t3tye9kw.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值