zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    centos7 下载并安装.netcore SKD,运行.netcore 应用程序
    小网站到大网站架构的演化之路 学习总结
    suppersocke,websocket 功能学习总结
    定时任务 quartZ
    RabbitMQ 安装和功能点
    rabbitmq 发送 消费消息
    富文本编辑器
    vue AES加密解密
    css动画库
    el-table合并表格
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693616.html
Copyright © 2011-2022 走看看