mfc-MFC使用 CImage贴图失真

问题描述

MFC使用 CImage贴图失真

MFC使用 CImage来贴图在控件上,但是有的时候会失真,有什么解决办法吗

解决方案

这样试试
CWnd* pWnd;
pWnd=GetDlgItem(IDC_IMAGE1);
CDC* pDC=pWnd->GetDC();
HDC hDC = pDC->m_hDC;

CRect rect_frame;
CImage image;
pWnd->GetClientRect(&rect_frame);
image.Load(fileName);

::SetStretchBltMode(hDC,HALFTONE);
::SetBrushOrgEx(hDC,0,0,NULL);

image.Draw(hDC,rect_frame);
ReleaseDC(pDC);//释放picture控件的DC

解决方案二:

失真只要分为两方面,一个是色彩失真,一个是尺寸失真。不知道你说的是什么

如果是色彩失真,检查下图片的格式以及你使用的调色板是否有问题。

如果是尺寸失真,检查下图片的长宽像素,按照一定的比例去绘制。

时间: 2024-08-29 03:40:28

mfc-MFC使用 CImage贴图失真的相关文章

在线等!-MFC中迷宫动态贴图如何实现

问题描述 MFC中迷宫动态贴图如何实现 数构实验,用MFC实现迷宫算法!如何动态的贴很多张位图?跪求详细过程,在下新手菜鸟一枚!

MFC编程问题,波纹图的叠加

问题描述 MFC编程问题,波纹图的叠加 MFC编程问题,波纹图的叠加,需要用几个static控件呢?static控件怎么才能叠加在一起呢? 解决方案 用一个控件就可以了,然后把多个曲线图都画在上面. 解决方案二: 一个就行了,这个问题你都发了多少帖子问了,你先看下之前给你回复的,再哪里不明白继续问..一直问一个问题干嘛

一个有关MFC主界面画波纹图的问题

问题描述 一个有关MFC主界面画波纹图的问题 打算用static画采样数据文件读取的波纹图,同时加入鼠标的操作,请问这两个步骤的做法是什么? 解决方案 http://www.xuebuyuan.com/1560824.html

MFC VS2012对话框背景填图

这是使用VS 2012编写MFC对话框程序的教程,主要是关于图片处理方面的操作,这些在MFC游戏.图片处理.软件编写中是经常要用到的知识. 一.创建项目 文件-新建项目-MFC应用程序-该页面使用"基于对话框"-完成即可. 注意:取消"使用Unicode库",否则在使用AfxMessageBox会报错,没有一个可以转换的参数类型,要加AfxMessageBox(_T("..")).运行结果: 二.添加背景Bitmap资源 在"资源视图&

新手如图VC6,MFC中。

问题描述 新手如图VC6,MFC中. 新手如图VC6,MFC中.在主窗点选择弹出一个窗口,然后弹出的listcrtr中勾选.点确定显示到主窗listcrtr上.怎么实现确定显示到主窗上.子窗口从ACCESS取数过来的.选择变量已获取到. 解决方案 http://blog.csdn.net/ajioy/article/details/8781889 解决方案二: 据说vc6mfc到2008的dll关于新手学习VC/MFC的前途的讨论VC6[MFC]代码累积(一)

VC MFC专题

MFC程序如何实现给对话框添加背景图片 MFC游戏开发笔记十 游戏中的碰撞检测进阶:地图类型&障碍物 MFC游戏开发笔记九 游戏中的碰撞判定初步&怪物运动简单AI MFC游戏开发笔记八 游戏特效的实现(二):粒子系统 MFC游戏开发笔记七 游戏特效的实现(一):背景滚动 MFC游戏开发笔记六 图像双缓冲技术:实现一个流畅的动画 MFC游戏开发笔记五 定时器和简单动画 MFC游戏开发笔记四 键盘响应和鼠标响应:让人物动起来 MFC游戏开发笔记三 游戏贴图与透明特效的实现 MFC游戏开发笔记二

VC++动态链接库(DLL)非MFC DLL介绍

  4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数. 如图6,在VC++中new一个Win32 Dynamic-Link Library工程dllTest(单击此处下载本工程附件).注意不要选择MFC AppWizard(dll),因为用MFC AppWizard(dll)建立的将是第5.6节要讲述的MFC 动态链接库. 图6 建立一个非MFC DLL 在建立的工程中添加lib.h及lib.cpp文件,源

mfc-一个关于MFC擦除绘图方面的问题

问题描述 一个关于MFC擦除绘图方面的问题 MFC在窗口内画波纹图,如何擦除之前画上去的波纹图,完全清除会闪烁的,怎么只清除标线和点? 解决方案 这个你需要使用双缓冲,在内存中记录下先前绘制的点,然后用透明颜色再绘制一次就擦除了. 解决方案二: MFC中的绘图不显示问题

求:C++.net的窗体和控件,跟MFC有什么区别和联系(for VBer,Delphier)

问题描述 我原来学过VB6,后来学Delphi6.现在学习多媒体DirectxShow时发现多数用C,软件公司也大多招聘C/C++程序员,我也准备学C了,艺多不压身.我现在安装了vs2005,有一本书叫<VisualC++.NET程序设计入门>(带光盘).我想主要通过跟VB和Delphi的比较来理解.1.好像C++.net也有窗体和控件,跟MFC有什么区别和联系?2.尽管MFC也可以用代码建窗体和控件,但毕竟不是Visual,怎么成了VC的重要部分了呢?3.vs2005可以建立项目:"