- 浏览: 1998853 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (651)
- ACE (35)
- BAT (9)
- C/C++ (116)
- fast-cgi (14)
- COM (27)
- python (59)
- CGI (4)
- C# (2)
- VC (84)
- DataBase (29)
- Linux (96)
- P2P (6)
- PHP (15)
- Web (6)
- Memcached (7)
- IME输入法 (11)
- 设计模式 (2)
- 搜索引擎 (1)
- 个人情感 (4)
- 笔试/面试 (3)
- 一亩三分地 (33)
- 历史 (2)
- 地理 (1)
- 人物 (3)
- 经济 (0)
- 不仅仅是笑哦 (43)
- 小故事大道理 (2)
- http://www.bjdsmyysjk120.com/ (0)
- http://www.bjdsmyy120.com/ (0)
- 它山之石可以攻玉 (15)
- 大学生你关注些什么 (28)
- 数据恢复 (1)
最新评论
-
luokaichuang:
这个规范里还是没有让我明白当浏览器上传文件时,STDIN的消息 ...
FastCGI规范 -
effort_fan:
好文章!学习了,谢谢分享!
com技术简介 -
vcell:
有错误os.walk(strPath)返回的已经是全部的文件和 ...
通过python获取目录的大小 -
feifeigd:
feifeigd 写道注意:文章中的CPP示例第二行 #inc ...
ATL入门:利用ATL编写简单的COM组件 -
feifeigd:
注意:文章中的CPP示例第二行 #include " ...
ATL入门:利用ATL编写简单的COM组件
1.在你将要使用GDI+的工程中,完成初始化工作,将以下代码加入StdAfx.h头文件中: //加入的头文件 2.在程序初始化部分加入 //gdi+用到的两个变量 装载gdi+ 3.在程序退出部分前加入 5在Project->stting->Link->Object/libary中加入gdiplus.lib 这样你的工程就可以使用GDI+了: void CPNGDlg::OnButton1() 遗憾的是,VC6.0并不能直接使用GDI+,下面介绍一种很方便的在VC6.0中使用GDI+的方法。步骤如下: 1.将GDI+.rar将其中的Includes和Lib中的文件拷到vc目录下的Includes和Lib文件夹中; GDI+ for VC6.0 SDK下载地址: http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip 2.在你将要使用GDI+的工程中,完成初始化工作: 将以下代码加入StdAfx.h头文件中: //加入的头文件 3.在程序初始化部分加入 //gdi+用到的两个变量 装载gdi+ 4在程序退出部分前加入 5在Project->stting->Link->Object/libary中加入gdiplus.lib 这样你的工程就可以使用GDI+了: void CPNGDlg::OnButton1() 直接显示就可以了, 透明是GDI+自己处理的, #define ULONG_PTR ULONG 不要再使用OleLoadPicture了,那会让你看起来很愚蠢。同样功能的函数,你看看GDI+会有几行: HRESULT ShowPic(const TCHAR* lpstrFile, HDC hDC, int X, int Y, int iWidth, int iHeight) // Create bitmap object and load image // Draw bitmap on DC 在vc6.0中使用GDI+图形函数 进来总看到一些网友提出一些关于图形处理方面的问题. 例如怎样使一个字符串透明输出,怎样放大,缩小或旋转一幅图片,或将一幅bmp图片保存为jpg格式,我总是回答使用GDI+图形函数,那么怎样使用呢? 下面是我写的一个简易教程,第一次写教程,难免有疏漏还请各位网友指正批评. GDI+图形函数,一个组在.net环境下提供的以取代GDI图形函数的类,将来会逐渐取代GDI图形函数. 如果在vc6.0中使用gdi+图形函数,那么请按以下步骤操作: 1.下载下面的rar文件将其中的Includes和Lib中的文件拷到vc目录下的Includes和Lib文件夹中. 点击下载该文件 2新建一个工程(以winsdk框架为例mfc也相同) 将以下代码加入StdAfx.h头文件中 //加入的头文件 #ifndef ULONG_PTR 3在程序初始化部分加入 //gdi+用到的两个变量 4在程序退出部分前加入 //卸载gdi+ 5在Project->stting->Link->Object/libary中加入gdiplus.lib 好了经过上面几步我们就可以在程序中使用GDI+了,先试一下吧! 显示一个透明字符串 Graphics mygraphics(hdc);//创建一个Graphics对象 mygraphics.DrawString(L"Hello Word!",-1,&font,pointF,&brush); 或显示一幅jpg图像 Graphics imgraphics(hdc); 注意要把001.jpg考到工程目录下 下面是一个例子有兴趣的可以下载 以上是我写的,请望能给大家一些帮助
#include <comdef.h>//初始化一下com口
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#endif
#pragma comment(lib,"gdiplus.lib")
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);
//卸载gdi+
GdiplusShutdown(m_pGdiToken);
{
pDC =GetDC();
Graphics graphics( pDC->m_hDC);
Image image(L"walkman.png", FALSE);
graphics.DrawImage(&image, 10,10);
}
GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。
#include <comdef.h>//初始化一下com口
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#endif
#pragma comment(lib,"gdiplus.lib")
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);
//卸载gdi+
GdiplusShutdown(m_pGdiToken);
{
pDC =GetDC();
Graphics graphics( pDC->m_hDC);
Image image(L"walkman.png", FALSE);
graphics.DrawImage(&image, 10,10);
}
用GDI+如何显示透明背景的PNG文件?楼主ruchimy(泥秋)2005-05-26 17:16:14 在 VC/MFC / 图形处理/算法 提问
我使用如下代码:
ImageAttributes imAtt;
imAtt.SetColorKey(Color(0,0,0),Color(10,10,10),ColorAdjustTypeDefault);
graphics.SetSmoothingMode(SmoothingModeAntiAlias);
Image imageBlue(TEXT(".\\res\\NumbersBlue.png"));
graphics.DrawImage (&imageYear,Rect(cx,0,iYearWidth,iYearHeight),0,iYearHeight,iYearWidth,iYearHeight,UnitPixel,&imAtt);
显示的图片虽然是透明的,但边边有黑点.哪位高手能指点一下?
在VC6.0时边要加入以下三句到stdafx.h里边
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")
{
_ASSERT(lpstrFile);
USES_CONVERSION;
auto_ptr<Bitmap> pBmp(new Bitmap(CT2CW(lpstrFile)));
if(!pBmp.get() || Ok != pBmp->LastStatus())
return E_FAILED;
Graphic grp(hDC);
if(Ok != grp.DrawImage(pBmp.get(), X, Y, iWidth, iHeight))
return E_FAILED;
return S_OK;
}
作者:radcat 文章来源:本站原创 点击数:3422 更新时间:2007-3-10 15:42:48
原帖及讨论:http://bbs.bc-cn.net/dispbbs.asp?BoardID=55&ID=102037
#include <comdef.h>//初始化一下com口
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#endif
//结束
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
//装载gdi+
GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);
GdiplusShutdown(m_pGdiToken);
SolidBrush brush(Color(100,0,0,255));//创建一个笔刷 第一项是透明度 后三项是RGB值
FontFamily fontFamily(L"Latha");选择一种字体
Font font(&fontFamily,1,FontStyleRegular,UnitInch);
PointF pointF(5,5);
Image image(L"001.jpg");
imgraphics.DrawImage(&image,0,0);
http://bbs.bc-cn.net/viewFile.asp?BoardID=55&ID=13660
发表评论
-
__declspec(novtable) 的用法
2010-11-27 14:37 1528__declspec(novtable) 的用法 __d ... -
解决URLDownloadToFile缓存问题的两种方法
2010-09-09 15:18 2818解决URLDownloadToFile缓存问题的两种方法 ... -
修改richedit背景
2010-07-19 22:52 1598RichEditCtrl::SetBackgroundCo ... -
使用ADO封装类的数据库程序开发实例(下)
2010-07-12 15:30 1427使用ADO封装类的数据库 ... -
使用ADO封装类的数据库程序开发实例(上)
2010-07-12 15:28 1169使用ADO封装类的数据库 ... -
VC防止窗口和控件闪烁的方法
2010-07-09 21:16 19651、将Invalidate()替换为Invalidate ... -
防止窗口闪烁地办法
2010-07-09 21:13 1465防止窗口闪烁地办法 也许我们都碰到过这种情况,当你 ... -
使用ADO _ConnectionPtr
2010-07-06 16:04 5220// GetUser.cpp : Defines the ... -
VC用ADO访问数据库全攻略
2010-07-06 15:29 1762VC用ADO访问数据库全 ... -
深入GetMessage和PeekMessage (引自-MSDN技术组)
2010-06-10 16:59 3672深入GetMessage和PeekMessage (引自 ... -
界面编程总结(1)
2010-06-02 13:32 3960原文地址:http://blog.csdn.net/byx ... -
获取信息的有关Windows API
2010-05-27 10:01 3084获取信息的有关Windows API 1.窗口信息 ... -
VC中如何实现窗口的隐藏
2010-05-13 10:08 7793VC中如何实现窗口的隐藏 用MFC做的Dialog ... -
SetConsoleCtrlHandler 处理控制台消息
2010-05-07 17:32 17989SetConsoleCtrlHandler 处理控制台消 ... -
解决决错误: error C2850: 'PCH header file'
2010-04-27 19:45 1886解决决错误: error C2850: 'PCH hea ... -
VC++ GDI+编程的字体和文本绘制
2010-04-13 13:12 7902字体是文字显示和打印的外观形式,它包括了文字的字样、风格和尺寸 ... -
GDI+编程基础(一)GDI+ Vs GDI
2010-04-12 15:59 2296下载源代码一、GDI GDI是位于应用程序与不同硬件之间 ... -
VC画图
2010-04-12 15:50 1488BOOL DrawPic(HDC hdc, TCHAR* ... -
对话框的数据交换--MFC深入浅出
2010-04-12 10:43 2400对话框数据交换指以下两种动作,或者是把内存数据写入对应的控 ... -
MFC中获取命令行参数的几种方法
2010-04-08 18:09 2929在MFC程序中,可以用以下几种方法来获取命令行参数。为方便 ...
相关推荐
vc_GDI+显示PNG图片.doc
VC利用GDI+采用分层窗体实现PNG透明窗体,适用于在视频上叠加透明窗口等目的。
VC6GDI+ PNG 透明边缘窗口
这段时间在研究GDI+双缓冲的方法,在网上找了很多时间都没有找到合适的示例,特别是针对VC6的。后来通过对网上资料的分析,和对SDK,MFC的学习,实现了VC6下GDI+双缓冲的效果,把它写出来与大家分享,希望可以找到更...
VC6.0GDI++,绘制界面,VC6.0的一般不支持,需要自己添加
基于VC++语言,VS平台开发,应用GDI+库,双缓冲,实现图片旋转,屏幕不闪烁。代码量不大,简单易学。
CGdiPlusBitmapTest GDI+ 显示各式图片 JPG BMP PNG VC
在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口
VC6使用GDI+,其中包含GDI源码、VC例子和使用说明
vc mtc GDI+ 双缓存vc mtc GDI+ 双缓存vc6.0编译通过
VC使用GDI+进行绘图
在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口源码
vc gdi+ gdiplus vc 精通GDI+编程
使用VC6和GDI+开发图形界面.首先在VC6加载GDI+动态库,然后根据自己的要求建立控件,在控件中使用GDI+绘图.使用GDI+比使用GDI思路更清晰,界面更美观.
gdi+ 绘制半透明 窗口,绘制png,非常有借鉴意义。欢迎交流
GDI+绘制库在VC中用GDI+调用png图片实现半透明渐变的特效窗口,GDI+的应用使得平面图形图象编程变的更加容易
VC6下使用GDI+显示JPEG缩略图的代码
Bitmap b(image.GetWidth(),image.GetHeight());如何使用GDI+制作圆形图片(类似QQ圆形头像)(MFC,VC)
vc中用gdi+显示任意格式图片的例子,能实现jpg ,gif等格式的显示.