指针-DirectDraw Blt切图数据有错

问题描述

DirectDraw Blt切图数据有错
LPDIRECTDRAWSURFACE7 lpDDSPrimary; // DDSCAPS_PRIMARYSURFACE主页面的指针

LPDIRECTDRAWSURFACE7 lpDDSBack1; // DDSCAPS_OFFSCREENPLAIN 离屏页面的指针
LPDIRECTDRAWSURFACE7 lpDDSBack2; // DDSCAPS_OFFSCREENPLAIN 离屏页面的指针
//由于字数限制,只先关键代码了
//创建表面,设置模式为全屏独占模式
ddsd.dwFlags = DDSD_CAPS //

ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE|DDSCAPS_COMPLEX|DDSCAPS_FLIP|DDSCAPS_VIDEOMEMORY; //DDSCAPS_VIDEOMEMORY 只使用显存来创建
if ( lpDD->CreateSurface( &ddsd &lpDDSPrimary NULL ) != DD_OK )

return FALSE; //创建主页面

ddsd.dwSize = sizeof( ddsd );

ddsd.dwFlags = DDSD_CAPS|DDSD_WIDTH|DDSD_HEIGHT;

ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; //这是离屏页面

ddsd.dwHeight=FullScrenn_Height; //****************显示器高************************

ddsd.dwWidth=FullScrenn_Width; //******************显示器宽************************

if ( DD_OK != lpDD->CreateSurface(&ddsd&lpDDSBack1 NULL))

return FALSE; //创建放背景图的页面

if ( DD_OK != lpDD->CreateSurface(&ddsd&lpDDSBack2 NULL))

return FALSE; //创建放背景图的页面

测试1:lpDDSBack1使用StretchDIBits 填写像素全为1;lpDDSBack1使用StretchDIBits 填写像素全为2;
if(Tflag==1) { hRet = lpDDSPrimary->Blt(&rcclientlpDDSBack1NULLDDBLT_WAITNULL); Tflag=0;}
else {hRet = lpDDSPrimary->Blt(&rcclientlpDDSBack2NULLDDBLT_WAITNULL);Tflag=0;}
测试结果:校验显示器输出数据,要么全1,要么全2,数据正确
测试2:lpDDSBack1填写行像素相同,列像素递增的图,lpDDSBack2也一样,只是开始像素点不一样
测试结果:校验显示器输出数据,要么为Back1的数据,要么为Back2的数据,表明数据正确
测试3:lpDDBack1填写整个递增的图,即行递增列也递增的图,Back2也一样,也只是起点不一样
测试结果:校验显示器输出数据,显示Back1数据的时候 有时候会出现Back2的数据,同样,显示Back2数据的时候,也会出现Back1的数据,这是为什么了,急!!!!
Back1和Back2 使用StretchDIBits 只填写一次图像数据,

问题是 为何整个递增的图像会出现 一副图像含有一部分另一副图像的像素了

时间: 2024-11-17 18:44:08

指针-DirectDraw Blt切图数据有错的相关文章

PhotoShop教程:切图那点事儿

切图的目的就是把设计图转化成网页代码,不用理解代码的含义也可以操作,所以独立一篇来讲. 早年间我学切图的时候,网上就没看到过什么教程的,只能靠自己摸索学习,挺简单的东西还是绕了点弯子.这次写出来应该会帮助其他人学会切图的. 先说下软件,我用的是PhotoShop CS5 这个版本,你要用其他版本也行,反正对切图这个功能影响不大. 如上图红框所示,我们要用到的切图工具有两个,一个是切片工具,另一个是切片选择工具.左边有个小按钮,你按住它这三个选项就会显示出来. photoshop教程上图是我等下用

同步-DirectDraw Flip三重缓冲 切图时有时候会闪出窗口

问题描述 DirectDraw Flip三重缓冲 切图时有时候会闪出窗口 /*使用了3缓冲,1个主表面 (lpDDSPrimary)2个后台表面lpDDSBuffer,lpDDSBuffer2在每个垂直同步信号(帧信号)来的时候,使用Flip切换 lpDDSPrimary->Flip(NULL0);此时完成交换表面指针的操作然后填充第1个lpDDSBuffer 问题:我是用VForm开发的,系统为WIN7 64位,VS2010,有时候肉眼能看到闪过我的Form控制台窗体,帧频设置为75Hz,退出

分享mapinfo tab GST格式 2011版数据 并提供mapinfo 切图工具 Arcgis shp地图QQ:1020592012

问题描述 分享mapinfotabGST格式2011版数据并提供mapinfo切图工具Arcgisshpmxd地图QQ:1020592012交流各种mapinfo和arcgis应用问题大家支持啊mapinfo切图工具可以分割任意区域的电子地图 解决方案 解决方案二:看看这个http://www.cnblogs.com/gisoracle/archive/2011/07/08/2100877.html解决方案三:看看学学毕恭毕敬解决方案四:我都有2012年的了呀.QQ交流:1175441108

HTML5自助切图

享受生活,热爱重构,大家好,我是Json. 在现在这个到处是HTML5话题的时代,好像不懂点HTML5都有点落伍.那我也跟上潮流一把吧,今天给大家分享的是基于HTML5的自助切图. 在组里经常会被某设计师叫切板仔,确实重构很大一部分工作都花在切图上,而如何提高切图效率或者让切图自助化也是我们重构师的追求.基于这个前提我自己抱着研究的心态,使用HTML5大致实现了一下.一开始觉得HTML5是个很神秘很高深的东西,其实当你去了解他,你会发现他是很空虚,且很容易上-----.手的. 这里使用到的HTM

一款APP从设计稿到切图过程全方位揭秘

  我本身是一名GUI设计师,所以我只站在GUI设计师的角度去把APP从项目启动到切片输出的过程写一写,相当于工作流程的介绍吧.公司不同,流程不尽相同,但是终究还是能有些帮助. 依旧声明:这里写的不是一种规范,只是一种工作方法,大家在具体工作中,一定要灵活运用.另外,技术的更新是非常快的,我写的这些可能某些东西已经和你们的工程师搭档所用的方法不一样了,所以,还是要灵活运用~ 这里我们只说IOS系统下的设计,至于Android,因为尺寸太多,涉及的东西比较乱,我整理好以后再说吧. 页面篇幅比较长,

省时省力的切图神器SLICY

  如何使用 Slicy 切图? 1. PS 图层依规则命名. 2. 把档案丢进 Slicy 里. 3. 好了. 够简单无脑了吧? 图层命名方式 为了要无脑切图,得稍微记一下 slicy 图层命名的格式,官网提供的 Examples 里面有 5 个文件夹. Basic Tagging 基本标签 图层或组名的字尾打上.png就好了. Explicit Sizing 设定切图尺寸 如果切图为特定尺寸,可以用这3种方式设定: 1. 使用矩型工具(形状图层)画出欲裁切的尺寸,将图层名称设为「@bound

超全面的切图规范指南

设计师的切图输出物是是体现一个设计师专业水准的重要标准,同时也是设计师表达自己对设计态度的最有力的语言.合适.精准的切图可以最大限度的还原设计图,起到事半功倍的效果. 如何输出具有全局把控和细节专注的高段位切图,应该是所有设计师一直需要追求的能力. 设计切图的原则 设计切图输出的目的是跟下游的工程师团队协同工作,那么在团队协作过程中,首先应该保证切图输出能够满足工程师设计效果图的高保真还原需求. 其次,切图输出应该尽可能降低工程师的开发工作量,避免因切图输出而导致不必要的工作量. 最后,输出的切

arggis切图,怎么只切其中的一部分

问题描述 arggis切图,怎么只切其中的一部分,一个经纬度范围 解决方案 解决方案二:arcgis10里面好像有设置,当然,实在不行,用范围框把数据裁出来!

提供预生成图片webgis(切图webgis)的解决方案

问题描述 基于服务器端的地图瓦片形式的webgis,也是现在大多数地图服务网站的技术方式,同样在很多的项目中运用到:做webgis多年,在实际项目中开发出成熟的应用系统,(由于项目的数据是以Tab数据组织的,所以地图切图基于MapXtreme2004来开发)后台利用MapXtreme2004+.netC#开发的地图切图程序.通过切图程序的文件,从第一级开始,逐级按照4分法来完成切割,切割后的数据直接应用在前台发布,客户端含有大量的javascript+Vml来显示:运用在切图程序中的gis平台,