QQ登录

只需一步,快速开始

150上位机VC MFC使用GDI+贴图剪切镜像效果

[ 复制链接 ]

150上位机VC MFC使用GDI+贴图剪切镜像效果

150上位机VC MFC使用GDI+贴图剪切镜像效果

150上位机VC MFC使用GDI+贴图剪切镜像效果


功能展示

GDI+ 是微软对窗口DGI的升级,对图片的操作十分方便,我们当前例程通过GDI+,实现在三维矩形上贴图,图片镜像,图片剪切等效果;
要点提示
通过微软的GDI+能够快速轻松实现 对图片各种操作;
GDI+使用前,得下载微软的GDIPLUS支持包,可从微软的管网下载,我们这里给大家进行了打包;
然后是添加头文件再进行简单的初始化操作,在CWinApp派生类的InitInstance函数中进行此项工作是最好的;






实现功能
1.新建基于对话框的应用程序
2.使用前准备GDI+:将例程根目录Include文件夹复制到自己工程根目录。
在StdAfx.h头文件包含GDI+ 头文件及库文件//使用GDI+第一步
#define UNICODE
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
#include "Include/gdiplus.h"
using namespace Gdiplus;
#pragma comment(lib, "Include/gdiplus.lib")
在APP类的InitInstance()中进行初始化
//使用GDI+第二步
  GdiplusStartupInputgdiplusStartupInput;  ULONG_PTR           gdiplusToken;
  GdiplusStartup(&gdiplusToken,&gdiplusStartupInput, NULL);
在程序退出时 进行GDI+ 环境的关闭

//使用GDI+第三步   GdiplusShutdown(gdiplusToken); //关闭gdiplus的环境
3,准备好GDI+后,便是使用GDI+ 实现我们想要的功能:

准备三幅位图,放在res文件夹内,拖拽一位图控件,修改ID为IDC_RECT,拖拽一控件,关联函数,实现贴图效果
  1. void CGkbc8Dlg::OnButton1()
  2. {
  3.         int WIDTH=200;
  4.         int LEFT=100;
  5.         int TOP=150;

  6.         Graphics graphics(GetDC()->m_hDC);
  7.         
  8.         graphics.Clear(Color::Blue);//使用蓝色做背景色清屏

  9.         //设置插值模式:高质量双三次插值法
  10.         graphics.SetInterpolationMode(InterpolationModeHighQualityBicubic);

  11.         //分别装入张贴在立方体三面的图片
  12.         Bitmap face(L"res/1.bmp");
  13.         Bitmap top(L"res/2.bmp");
  14.         Bitmap right(L"res/3.bmp");

  15.         //重新定义用于张贴在正面的图片坐标
  16.         Point destinationFace[] =
  17.         {
  18.                 Point(LEFT,TOP),
  19.                 Point(LEFT+WIDTH, TOP),
  20.                 Point(LEFT, TOP+WIDTH)
  21.         };
  22.         //张贴正面图像
  23.         graphics.DrawImage(&face,destinationFace,3);

  24.         //重新定义用于张贴在顶部的图片坐标
  25.         PointF destinationTop[]=
  26.         {
  27.                 PointF(LEFT+WIDTH/2, TOP-WIDTH/2),
  28.                 PointF(LEFT+WIDTH/2+WIDTH, TOP-WIDTH/2),
  29.                 PointF(LEFT, TOP)
  30.         };
  31.         
复制代码
  1. //张贴顶部面图像
  2.         graphics.DrawImage(&top, destinationTop, 3);

  3.         //重新定义用于张贴在右侧的图片坐标
  4.         Point destinationRight[]=
  5.         {
  6.                 Point(LEFT+WIDTH, TOP),
  7.                 Point(LEFT+WIDTH/2+WIDTH, TOP-WIDTH/2),
  8.                 Point(LEFT+WIDTH,TOP+WIDTH)
  9.         };
  10.         //张贴右侧面图像
  11.         graphics.DrawImage(&right, destinationRight, 3);        
  12. }
复制代码
其他功能代码过多,可下载例程进行学习

我们来演示实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:150.上位机VC MFC使用GDI 贴图剪切镜像效果.rar 
文件大小:1.09 MB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索