在对话框显示图片补充方法
总结出两种方法:
1. 使用ATL库中的CImage类加载图片
2. 使用免费共享的CxImage库中的加载图片(可支持几乎所有格式)
方法一、使用ATL库中的CImage类加载图片
使用ATL库中的CImage类加载图片作为对话框背景
使用CImage类库要在应用程序的stdafx.h文件中添加CImage类的包含文件:
#include "atlimage.h"
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
//用CImage加载
m_imgBK.Load("res//006.png");
width=m_imgBK.GetWidth();
height=m_imgBK.GetHeight();
bool bLoad=m_imgBK.IsNull();
int uMaxClr=m_imgBK.GetMaxColorTableEntries();
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CAboutDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
m_imgBK.Draw(dc.GetSafeHdc(),150,150,width,height);//,0,0,50,50);
// 不为绘图消息调用 CDialog::OnPaint()
}
方法二、使用免费共享的CxImage库中的加载图片
下载自http://www.codeproject.com/bitmap/cximage.asp
1. 下载Download full source files (full) 后解压,进行修正后,编译出所有的lib和dll库,将lib放入CxImageLib目录,将dll放入程序运行目录。在项目中依赖源中添加该库目录(建议按需加载lib库以减小体积)。
2. 在对话框类中加入声明变量CxImage xImage;
3. 在OnInitDialog()中初始化该对象
xImage=CxImage(str,CXIMAGE_FORMAT_PNG);
ASSERT(xImage.IsValid());
4. 在OnPaint()中绘制图像
CPaintDC dc(this);
xImage.Draw(dc.m_hDC);
//等同于 xImage.Draw(dc.m_hDC,0,0,xImage.GetWidth(),xImage.GetHeight());
注:用CxImage::Draw()可完整支持Alpha通道等。如果调用CxImage::Draw2()则与CImage一样仅支持单透明色(并非直接显示图像中的透明色,而是将某色置为透明)
SavageConan
2007.08.01
在对话框显示图片补充方法相关推荐
- java script的图片隐藏,java和javascript中过滤掉img形式的字符串不显示图片的方法...
本文实例讲述了java和javascript中过滤掉img形式的字符串不显示图片的方法.分享给大家供大家参考.具体实现方法如下: 1. javascript过滤掉和形式的字符串 复制代码代码如下: 过 ...
- 微信小程序使用image组件显示图片的方法
本文实例讲述了微信小程序使用image组件显示图片的方法.分享给大家供大家参考,具体如下: 1.效果展示 2.关键代码 ① index.wxml 代码如下: <image style=" ...
- php显示网络图片,php中显示图片的方法
php中显示图片的方法 发布时间:2020-08-25 14:08:07 来源:亿速云 阅读:80 作者:小新 这篇文章给大家分享的是有关php中显示图片的方法的内容.小编觉得挺实用的,因此分享给大家 ...
- java显示图片_java显示图片的方法
java显示图片的方法 applet能显示GIF,JPEG,BMP等其他格式的图片.为了在applet中显示图片,你需要使用java.awt.Graphics类的drawImage()方法.以下是小编 ...
- android 图片百分比显示,Android编程实现等比例显示图片的方法
本文实例讲述了Android编程实现等比例显示图片的方法.分享给大家供大家参考,具体如下: 在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘 ...
- 在对话框显示图片的多种方法(下)
承接上篇,介绍了三种方法,本篇将介绍动态载入图片的另一种方法: 方法4 通过CBitmap,HBITMAP,直接用OnPaint()绘制 首先在CTestDlg类中声明一个变量: CBitmap ...
- 在对话框显示图片的多种方法(上)
我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一个基 ...
- java 对话框 显示图片_Java对话框上显示图片
手掌心 其实有很多种方法可以解决图片显示大小的问题:使用photoshop修改. 优点是可以节省系统资源, 显示图片的时候,不用做处理,缺点是需要了解ps的基本操作使用JDialog 自定义对话框. ...
- pygame显示图片的方法_使用Sprite实现移动动画(Pygame中的精灵类)
pygame.sprite.Sprite就是Pygame里面用来实现精灵的一个类,使用时,并不需要对它实例化,只需要继承他,然后按需写出自己的类就好了,因此非常简单实用. 什么是精灵? 精灵可以认为成 ...
最新文章
- Linux驱动框架之framebuffer驱动框架
- 梦幻桌面wmv_【 梦幻桌面 】梦幻桌面(DreamScene桌面美化工具)新版下载 - U大师
- webstom新增vue模板
- 面向接口编程详解(一)—— 思想基础
- maven工程中添加scala-library并非idea scala插件
- dev Gridcontrol控件属性部分
- 英特尔再现安全漏洞:2011年后计算机几乎全中枪,可窃取你的密码及数据
- 贝茨视觉训练法 (Dr William Bates)方法
- 为Exynos4412移植2022版U-Boot(一)步骤及其原理分析
- gif一键抠图 在线_一款支持智能抠图、钢笔抠图的在线抠图工具上线了 速抠图 sukoutu.com...
- vue 根据权限显示不同页面解决方案
- 万能Markdown数学公式
- 去水印小程序源码【2021年8月更新】
- Gym 101653T Runes (模拟)
- arcgis 投影坐标系的区分
- P2738 [USACO4.1]篱笆回路Fence Loops
- 途牛旅游项目练习-登录篇
- 如何从Lytro 相机中获取图像阵列
- Contest3412 - 2022中石油大中小学生联合训练第七场
- Facebook 授权登录(服务端)
热门文章
- awstats tomcat
- 行稳致远!大数据基础设施“领航者”爱数的数智化进阶
- 汽车行业数据存储越发复杂?群晖备份存储方案为您支招
- Qt QWindowsBackingStore::flush: GetDC failed (句柄无效)
- 优品购精选:中国跨境电商加速奔跑
- 用unity写一个推箱子
- 生化分离介质:离子交换层析介质/疏水作用层析介质/亲和层析介质/凝胶层析介质/活化中间体
- Unity利用UGUI 无代码实现卷轴拉开效果(配合Dotween动画)
- python怎么计算总值_python小白系列Day2—python基础以及pandas基础
- 【颜色识别】机器视觉RGB识别系统【含GUI Matlab源码 951期】