大家帮我看一段源码,创建Overlay对象老失败!!!!!!!!!!!!!!!!(100分)

admireO admireO 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//先检查硬件是否支持overlay.
BOOL CDDUtil::IsSurportOverlay()
{
DDCAPS HalCaps;
ZeroMemory( &HalCaps,sizeof( HalCaps ) );
HalCaps.dwSize = sizeof(HalCaps);

if( FAILED( lpDD->GetCaps( &HalCaps,NULL ) ) )
{
TRACE( "GetCaps()failed.\n" );
return FALSE;
}
if( !(HalCaps.dwCaps & DDCAPS_OVERLAY) )
{
TRACE( "Don't support overlay.\n" );
return FALSE;
}
return TRUE;
}//上面函数执行返回true.
//然后创建Overlay对象.
BOOL CDDUtil::DD_CreateOverlay(int width,int height)
{
DDSURFACEDESC ddsdOverlay;
HRESULT ddrval;

if (!lpDD || !lpDDSPrimary)
return FALSE;
ddsdOverlay.dwBackBufferCount=0;
ddsdOverlay.ddsCaps.dwCaps=DDSCAPS_OVERLAY|DDSCAPS_VIDEOMEMORY;
ddsdOverlay.dwFlags= DDSD_CAPS|DDSD_HEIGHT|DDSD_WIDTH|DDSD_PIXELFORMAT;

DDPIXELFORMAT ddpfPixelFormat = { 0 };
ddpfPixelFormat.dwSize = sizeof( DDPIXELFORMAT );
ddpfPixelFormat.dwFlags = DDPF_RGB;

ddpfPixelFormat.dwRGBBitCount = 24;
memcpy( &(ddsdOverlay.ddpfPixelFormat),&ddpfPixelFormat,sizeof( DDPIXELFORMAT ) );
DWORD BitCount[5] = { 32,24,16,8,4 };
ddrval = -1;
for( int i = 0;(i < 5)&& ( ddrval != DD_OK );i++ )
{
ddsdOverlay.ddpfPixelFormat.dwRGBBitCount = BitCount[i];
ddrval = lpDD->CreateSurface(&ddsdOverlay, &lpDDSOffScreen, NULL);
#ifdef _DEBUG
if( ddrval == DD_OK )
{
TRACE( "success when Bitcount = %d\n",BitCount[i] );
}
else
{
TRACE( "failed when Bitcount = %d\n",BitCount[i] );
}
#endif
}
//ddrval = lpDD->CreateSurface(&ddsdOverlay, &lpDDSOffScreen2, NULL);


// We just couldn't create an overlay surface. Let's exit.
if(FAILED(ddrval))
{
TRACE( "We just couldn't create an overlay surface.\n" );
return FALSE;
}

return TRUE;
}
//该函数总返回false.
...全文

相关推荐

MATLAB实现主动轮廓模型图像分割实战教程

MATLAB是一个高性能的数值计算环境,同时也是工程和科学领域内广泛使用的编程语言。它提供的图像处理工具箱(Image Processing Toolbox)是一个包含了一系列用于图像处理、分析和可视化功能的集合。工具箱的优势在于其强大的算法库和直观的用户界面,这些特性使得开发者能够快速实现复杂的图像处理任务,无需从零开始编写底层代码。工具箱中内置的函数覆盖了从图像导入和显示、图像增强、几何变换、滤波器和边缘检测到形态学操作等方方面面。

Jay星晴

Matlab实现凸轮机构轮廓曲线模拟与仿真

本文还有配套的精品资源,点击获取 简介:凸轮机构是机械传动装置的关键部分,利用其旋转驱动从动件进行往复运动。MATLAB作为一种强大的数学计算软件,适用于凸轮机构的建模与分析。本文将介绍如何在MATLAB中通过定义凸轮轮廓曲线、参数化表示、动力学建模、时间序列定义、运动轨迹计算及优化设计,实现凸轮机构轮廓曲线的建模与仿真。本文还将讨论如何利用MATLAB的多种工具和函数进一...

瘦下来

LeafDetector: MATLAB实现植物叶片轮廓分割与Dice系数评估

Dice系数,又称F1分数,是一种统计度量指标,用于衡量两个样本集的相似度。它在0和1之间取值,数值越接近1,表示两个样本集越相似。数学上,Dice系数定义为两个样本集的交集大小的两倍除以它们的并集大小。在图像处理领域,Dice系数常用于量化图像分割的质量。图像分割是指将图像分为多个部分或对象的过程。使用Dice系数作为评估标准,可以帮助研究人员和工程师评估分割算法的性能,尤其是当涉及到将图像分割成前景和背景两个部分时。Dice系数的计算方法简洁明了。

远方之巅

MATLAB实现活动形状模型(ASM)与活动轮廓模型(ACM)

活动形状模型(Active Shape Model, ASM)是一种基于统计的形状描述方法,用于定位图像中对象的特定形状。ASM利用训练集中的形状信息来建立一个形状模型,并通过搜索最符合模型的图像区域来定位目标。它在面部识别、医学影像分析等领域有广泛应用。活动轮廓模型(Active Contour Models,ACM)是一种用于图像分割的曲线演变技术,旨在找到图像中目标区域的边界。ACM通过将曲线定义为能量最小化的数学形式,使其能够自然地向目标边缘移动并收敛。

羊迪

IEC 60068-2-2 2025 中文 环境实验.rar

IEC 60068-2-2 2025 中文 环境实验.rar

cdming
评论 1
收藏 已收藏
分享
返回顶部
admireO
VC/MFC 16,550 成员 421,606 内容