Direct2D绘制的图形都会自动根据窗口来进行改变大小

menmories 2016-11-25 10:11:41
Direct2d在绘制一个图形时,就算我指定了固定的大小和位置,发现绘制的矩形和线条的的大小都会跟着窗口大小的改变而改变,有什么方法让它不自定改变呢
...全文
502 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_26412673 2016-12-10
  • 打赏
  • 举报
回复
有人知道吗,我也急需
赵4老师 2016-11-25
  • 打赏
  • 举报
回复
设置桌面为父窗口?
示例程序目录及简要说明 第2章 Direct3D程序设计基础 CreateDevice 演示Direct3D程序的基本框架,以及如何创建Direct3D对象和Direct3D设备对象。 第3章 坐标系与基本图元 1、VertexBuffer 演示使用顶点缓冲区对象绘制基本图元。 2、BasicPrimitive 演示Direct3D中6种基本图元的绘制。通过单击键盘上的“1”~“6”数字键可以在各图元类型之间进行切换。 3、IndexBuffer 演示使用顶点缓冲区和索引缓冲区绘制基本图元。 4、RenderState 演示顶点着色模式和图形填充方式两个基本渲染状态对图形显示的影响。通过单击鼠标左键在两个着色模式之间进行切换,单击鼠标右键在3种图形填充模式之间进行切换。 5、AntiAlisa 演示通过多重采样实现图形反锯齿效果。程序运行时通过单击鼠标左键可以在启用和禁用图形反锯齿效果之间进行切换。 6、FullScreen 演示全屏幕显示模式Direct3D程序的开发,主要是创建全屏显示模式的Direct3D设备。因为程序运行在全屏模式下,所以不能像运行在窗口模式下那样,通过单击标题栏上的“关闭”按钮来关闭程序,可以通过单击键盘上的“Esc”键退出程序,也可以通过按下“Alt+F4”键退出程序。 第4章 顶点坐标变换 Transfrom 演示三维坐标变换、视区变换,以及简单动画的实现。 第5章 光照与材质 1、SimpleLighting 演示灯光的使用。 2、Multilights 演示同时使用多个光源的效果。一共使用三个光源,分别是漫反射方向光光源、漫反射点光源、镜面反射方向光光源。默认情况下,3个光源全部关闭,按下数字键“1”,启用1号光源;按下数字键“2”,启用2号光源;按下数字键“3”,启用3号光源;按下数字键“4”,3个光源全部启用;按下数字键“0”,3个光源全部关闭。 第6章 纹理映射基础 1、TextureBase 演示使用纹理贴图的基本步骤。 2、TexFilterMode 演示最近点采样和线性纹理过滤方式。在程序运行时,单击键盘上的数字键“1”,使用最近点采样纹理过滤方式,单击键盘上的数字键“2”,则使用线性纹理过滤。 3、MipTexture 演示如何创建和使用多级渐进纹理。程序运行时,单击键盘上的数字键“1”,则使用多级渐进纹理,单击数字键“2”,则使用单级别纹理。通过按下“↓”键和“↑”键可以放大和缩小显示的图形,从而可以仔细观察图像的变化,看到多级渐进纹理的效果。 4、TexAddressMode 演示不同纹理寻址模式的效果。程序运行时,单击键盘上的数字键“1”,使用重叠纹理寻址模式,单击键盘上的数字键“2”,使用镜像纹理寻址模式,单击键盘上的数字键“3”,使用夹取纹理寻址模式,单击键盘上的数字键“4” ,使用边框颜色纹理寻址模式。 5、TexRenderState 演示纹理阶段混合状态的使用。 第7章 使用文件模型 1、Mesh 演示.X文件模型的使用,包括从.X文件中加载模型生成网格模型对象,渲染网格模型。 2、StateControlUseMatrix 演示使用矩阵旋转网格模型。程序运行时按下“D”和“A”键可以使飞机模型绕自身z轴旋转;按下“S”和“W”键可以使飞机模型绕x轴旋转;按下“Q”和“E”键可以使飞机模型绕自身y轴旋转;按下“F”和“V”键可以使飞机模型向前和向后运动。 3、StateControlUseQua 演示使用四元数旋转网格模型。程序运行时按下“D”和“A”键可以使飞机模型绕自身z轴旋转;按下“S”和“W”键可以使飞机模型绕x轴旋转;按下“Q”和“E”键可以使飞机模型绕自身y轴旋转;按下“F”和“V”键可以使飞机模型向前和向后运动。 第8章 深度测试与Alpha混合 1、ZTest 演示深度测试的使用。程序运行时按下数字键“1”启用深度测试,按下数字键“0”,则禁用深度测试。 2、AlphaBlend 演示使用Alpha混合实现半透明效果。程序运行时按下数字键“1”,启用Alpha混合,按下数字键“0”,则禁用Alpha混合。 3、VertexAlpha 演示直接为顶点颜色设置Alpha值。程序运行时按下数字键“1”,启用Alpha混合,按下数字键“0”,则禁用Alpha混合。 4、TextureAlpha、 演示通过纹理混合获取Alpha 值。程序运行时按下数字键“1”,启用Alpha混合,按下数字键“0”,则禁用Alpha混合。 5、AlphaTest 演示Alpha测试的使用。程序运行时按下数字键“1”,启用Alpha测试,按下数字键“0”,则禁用Alpha测试。 第9章 雾化 1、VertexFog 演示顶点雾化效果。程序运行时按下数字键“1”,
Rainmeter 4.3 正式版 您可以安全地在现有的 Rainmeter 4.2 或任何早期版本的基础上直接安装最新的 4.3 版本,并且您之前配置的任何设置都不丢失或更改。永远都不需要卸载任何早期版本的 Rainmeter 来使用最新版本。 注意:Rainmeter 4.3 只能在 Microsoft Windows 7 到 10 上运行,不支持 Windows XP 和 Vista。 Rainmeter 4.3 主要更新和变化 Direct2D 和 硬件加速 Rainmeter 4.3 彻底地更换了在 Windows 上所使用的图形引擎,从之前使用的 GDI+ 图形引擎更新到了新一代更强大的 Direct2D(简称 D2D)图形引擎。D2D 引擎不仅能为将来的 Rainmeter 新版本的预期功能提供支持,而且还能让用户选择性地对 Rainmeter 进行硬件加速(简称 HWA)。这意味着可以将原本一直让 CPU 来处理绘制的图像和其使用的内存转移到 GPU 和显存上,可以更快更好地渲染及绘制。 硬件加速默认为“关闭”状态。这有助于开发者确定 Rainmeter 从 GDI+ 引擎替换到到 D2D 引擎可能出现的一些问题,并隔离出任何与硬件加速有关联的问题。开发者建议您在“设置”对话框中“开启”硬件加速功能。将来的 Rainmeter 新版本中将硬件加速默认值更改为“开启”状态。 硬件加速和英特尔高清集成显卡:目前某些英特尔高清集成显卡芯片在硬件加速上存在问题(通常出现在笔记本电脑上,具体表现在Meter的一些动态效果绘制存在残留阴影问题),这是由于英特尔芯片组的驱动程序存在错误所导致的。通常可以通过更新英特尔最新版的图形卡驱动程序来解决问题。此问题的详细信息和建议如下:带有硬件加速的英特尔高清显卡绘图问题。 报告Direct2D的问题:开发者比较关心您在使用 Rainmeter 4.3 时看到的相比于 Rainmeter 4.2 时不太和谐的东西。目的是为了确保 Rainmeter 从 GDI+ 到 D2D 转变中现有皮肤的向后兼容性。您在 Rainmeter 4.2 中运行的任何皮肤,在 Rainmeter 4.3 中其外观和工作方式应该是完全相同的。请在此论坛区域报告这些问题。 图层遮罩功能 为所有类型的 Meter 添加了一个新的 Container 选项。这个选项允许您将某个 Meter 的内容显示在另一个 Meter 内,令其充当“容器”和“遮罩”。有关详细信息,请参阅文档。 Rainmeter 4.3 功能增强和修复 节点变量:添加了一类新的节点变量: [SomeMeter:XW] 和 [SomeMeter:YH] ,这使您可以相对的在某个 Meter 的末尾紧接一个新 Meter ,而不再需要自己进行 X=([SomeMeter:X] + [SomeMeter:W]) 一类的计算和设置。 Line Meter:添加了一个新的选项:TransformStroke,其用于定义使用 TransformationMatrix 选项时是否保持线的宽度。 “关于 Rainmeter”窗口:更正了“关于 Rainmeter - 皮肤”窗口中计量标准(Measure)和变量(Variable)的显示方式,以及使用 Ctrl+C 或鼠标右键复制字符串值时,复制到 Windows 剪贴板的内容与显示的不一致的问题。在“关于 Rainmeter”窗口中,所有的字符串值最多支持显示259个字符,如果更长就被截断并附加“...”。不过值的全部内容将完整的复制到剪贴板中。 AudioLevel 插件:修复了其与 Nahimic 音频驱动程序不兼容的问题。 NowPlaying:使用 Lyrics PlayerType 选项更正了一个旧问题。 AccurateText:当 AccurateText=1 且 Meter 的大小设置了动态变量时,任何小数值都将被向下舍入或截断。现在这个方式已经改变,小数值将被四舍五入到最接近的整数像素值上。 Rainmeter 安装程序:如果之前安装 Rainmeter 时选择过“开机自动启动 Rainmeter”选项,则更新时,即便在新版本安装程序中取消选中该复选框,也不将 Rainmeter 快捷方式从系统“启动”文件夹中删除。 Skin Installer:修复了在安装 .rmskin 皮肤包后选择“加载外观和布局”,却通常未能加载的问题。 “Rainmeter 管理器”对话框:修复了加载某个主题时,皮肤信息未能正确更新的问题。 Rainmeter:现在可以使用通知区域托盘图标准确恢复最小化的“Rainmeter 管理器”,“关于 Rainmeter”和
 第一部分 Windows编程基础   第一章 无尽之旅    历史一瞥    设计游戏    游戏类型    集思广益    设计文档和情节图板    使游戏具有趣味性    游戏的构成    常规游戏编程指导    使用工具    从准备到完成一使用编译器    实例:FreakOut    总结   第二章 Windows编程模型    Windows的历史    多任务和多线程    按照Microsoft方式编程:匈牙利符号表示法    世界上最简单的Windows程序    真实的Windows应用程序    Windows类    注册Windows类    创建窗口    事件处理程序    主事件循环    产生一个实时事件循环    打开多个窗口    总结   第三章 高级Windows编程    使用资源    使用菜单编程    图形设备接口GDI介绍    处理重要事件    将消息传递给自己    总结   第四章 WindowsGDI、控件和突发奇想    高级GDI图形    点、线、平面多边形和圆    关于文本和字体    定时的重要性    使用控件    获取信息    T3D游戏控制程序    总结   第二部分 DirectX和2D基础   第五章 DirectX基础和令人生畏的COM    DirectX基础    COM:这是Microsoft的工作,还是魔鬼的?    应用DirectXCOM对象    COM的前景    总结   第六章 首次接触:DirectDraw    DirectDraw界面    创建DirecDraw对象    和Windows协同工作    进入事件模式    巧妙的色彩    创建一个显示画面    总结   第七章 高级DirectDraw和位图图形    真彩色模式下工作    双缓冲    动态画面    页面变换    应用图形变换器    剪切基础    采用位图    备用画面    位图的放旋转和缩放    离散采样理论    色彩效果    人工色彩变换或者查询表    新的DirectX色彩和Gamma控制接口    GDI和DirectX混合使用    获取DirectDraw的真用    在画面上冲浪    使用调色板    在窗口模式下应用DirectDraw    总结   第八章 矢量光栅化及2D变换    绘制线条    线框多边形    2D平面的变换    矩阵引论    变换    缩放    旋转    填充实心多边形    多边形碰撞检测    定时与同步说解    滚动和视角场景    伪3D等角引擎    T3DLIB1库函数    BOB(变换对象)引擎    总结   第九章 用DirectInput和力反馈进行输入    输入循环回顾    DirectInput序曲    力反馈详述    编写通用的输入系统:T3DLIB2CPP    总结   第十章 用DriectSound和DirectMusic演奏乐曲    PC上的声音编程    声音产生的原因    数字与MIDI——发声大,填充少    发声硬件    数字化记录:工具和技术    DirectSound中的麦克风    启动DirectSound    主要与辅助的声音缓冲    播放声音    用DirectSound反馈信息    读取磁盘中数据    DirectMusic:伟大的试验    DirectMusic的结构    启动DirectMusic    加载MIDI段    操作MIDI段    T3DLIB3声音和音乐库    DirectSound API封装    总结   第三部分 编程核心   第十一章 算法、数据结构、内存管理及多线程    数据结构    算法分析    递归    树结构    优化理论    制作演示程序    保存游戏的策略    实现多人游戏    多线程编程技术    总结   第十二章 人工智能在游戏中的运用    人工智能入门    明确AI算法    模式和基础控制脚本    行为状态系统建模    应用软件对存储和学习建模    计划和决策树    导航    高级AI脚本    人工神经网络    遗传算法    模糊逻辑    在游戏中创建真正的AI    小结   第十三章 基本物理建模    物理学基本定律    线性动量的物理性质:守恒和传递    万有引力效果模型    磨擦力    基本的特殊碰撞响应(高级)    解决n-t坐标系统    简单运动学    微粒系统    游戏关键:创建游戏的物理模型    总结
创建一个OpenGL窗口: 在这个教程里,我将教你在Windows环境中创建OpenGL程序.它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出.它是我们以后应用程序的框架. 理解OpenGL如何工作非常重要,你可以在教程的末尾下载源程序,但我强烈建议你至少读一遍教程,然后再开始编程. 2.你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形。也许你认为这很简单,但你已经迈出了一大步,要知道任何在OpenGL中绘制的模型都被分解为这两种简单的图形。 读完了这一课,你学到如何在空间放置模型,并且知道深度缓存的概念。 3.添加颜色: 作为第二课的扩展,我将叫你如何使用颜色。你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色。 注意三角形上的颜色是如何混合的。 颜色为OpenGlL 工程增加很多。通过理解平面着色(flat coloring)和平滑着色(smooth coloring),你能显著的改善你的OpenGL Demo的样子。 4.旋转: 在这一课里,我将教你如何旋转三角形和四边形。左图中的三角形沿Y轴旋转,四边形沿着X 轴旋转。 这一章将引入两个变量, rtri 被用来存储三角形的角度, rquad存储四边形的角度。 和容易创建一个多边形组成的场景。让这些物体动起来是整个场景变得生动起来。在后面的课程钟我将教给你如何绕屏幕上的一个点旋转物体,使得物体绕屏幕而不是它的轴转动。 5.3D形体: 既然我们已经领到多边形,方形,色彩和旋转。现在该建立3D物体了。我将使用多边形和矩形c创建3D物体。这次我们将扩展上一章的教程,并且将三角形转换成一个彩色的棱锥,把正方形变为一个实心正方体。棱锥使用混合色,正方体每个面使用一种颜色。在3D空间创建物体可能很费时间,但是所获得的结果(收获)值得这样做。充分发挥你的想象力吧。 6.纹理映射: 你想要它,它现在就在这里了,那就是 ... 纹理映射!!!在这一章我将教你如何将一幅位图(bitmap)映射到正方体的六个面上去。我们将使用第一章的OpenGL代码来创建工程。创建一个空的窗口比修改上一课的代码更容易。 你将发现第一章的代码在对于快速创建工程来说是及其有价值的。第一章的代码为你设置好了一切,你所需要做的只是集中精力为效果编程。 7.纹理滤波, 光照和键盘控制: 好的,我希望到现在你已经理解了所有的东西,因为这是一个巨大的教程。我想教给你两个新的方法来过滤(filter)你的纹理,简单的光照,键盘控制并且还可能更多 :) .如果你对到这一课为止你所学的东西并不充满信心,那就回头复习一下。玩一下其它课程的代码,不要操之过急。最好专心把每一课学好,而不是蜻蜓点水,只知道如何把东西做出来。 8.混合 有理由等一下,一个来自很酷的Hypercosm的程序员伙伴问(我)他是否可以写一章关于混合的教程。第八课通常正是讲混合的,所以太巧了。这一章教程扩展了第七章。混合是一项很酷的技术 .. 我希望你们能好好享受这一章教程。这一章的作者是Tom Stanis他在这制作一章上花费了很多精力,所以让他知道你觉得怎么样。混合可不是一个好讲的话题。 9.在3D空间中移动位图: 这一章覆盖了一些你们要求的主题,你想知道如何移动你在3D屏幕空间上创造的物体。你想要知道如何在屏幕上绘制一幅位图,并且位图的黑色部分不覆盖它后面的东西。你想要简单的动画,想要更多的混合的应用,这一章将教你所有这些。You'll notice there's no spinning boxes(yaker:很惭愧这一句我不是很明白)。前面的课程覆盖了OpenGL的基础,每一章都基于前面的内容。前面的课程涵盖了基础的OpenGL,每一课都是在前一课的基础上创建的。这一课是前面几课知识的综合,当你学习这课时,请确保你已经掌握了前面几课的知识。 10.加载3D世界,并在其中漫游: 你一直期待的教程来了!这一章友一个叫Lionel Brites的伙伴制作。这一课里你讲学到如何导入一个3D世界。代码仍然使用第一章的,但是,课程页面只是解释了新的部分,包括导入3D场景,在3D世界中移动。下载VC++代码并且在你阅读教程的同时阅读代码。按[B]键控制混合,[F]键控制滤波,[L]键控制光照(但光并不随场景移动),还有[Page UP]和[Page Down]键。我希望你能喜欢Lionel对网站的贡献。我有空的时候我让这个教程更容易学习。 11.旗帜效果

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧