导航:首页 > 编程语言 > gdi编程指南

gdi编程指南

发布时间:2022-12-19 15:14:11

⑴ 求助:在vc中gdi编程中如何实现图形放缩和平移

方法一: 你的画线函数放到WM_PAINT中,每次鼠标移动厚后 ,你像窗口发送WM_PAINT ,窗口重绘之后在画线; 方法二: 如果非要在相应鼠标移动消息中绘图,每次绘图前因用窗口背景色,覆盖掉前一次画的线条,在画新线条;

⑵ c#gdi编程 请问在地图active控件上绘图擦除怎么弄要不引起闪烁的 地图有背景不能覆盖遮

第一步:对控件进行截图
第二步:把控件截图设置为与active控件同size,同location,Z序列最小的picturebox的image
第三步:设置该picturebox为可见并调设为Z序列最大值(这样用户看到的只是picturebox看不到active控件)
第四步:对active控件进行擦除

第五步:active的Z序列设置为最大(这样用户看到的是擦除好的active控件了)

附:启用双缓存整体感觉上是会好一点

⑶ C++ 书籍

这里有,不用去买了,网上都是可以下到的:

钱能 c++程序设计教程 第二版 高清PDF版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166018
Essential C++ 中文版+英文版 侯捷译
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=167578
编程点金之Visual C++(电子教程) iso
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181036
C++程序调试实用手册 PDF版下载
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181037
C++面向对象多线程编程 PDF版下载
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181038
C++高级编程参考手册
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145562
C++ Primer 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=145858
C++ Primer 第四版 中文版高清晰
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177763
高质量C++编程指南
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177759
C++ 编程思想 第1卷 标准C++导引
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177774
C++ 编程思想 第2卷 实用编程技术
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177770
More Effective C++ 简体中文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=146871
C++ Templates 中文版+英文版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176004
C++ Coding Standards[Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175999
Absolute C++ 全彩页代码剖析
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175578
Accelerated C++ - Practical Programming by Example
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177489
Inside the C++ Object Model
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175359
More Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175358
Exceptional C++ [Addison Wesley]
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175357
Sams出版 C++ Unleashed
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=163617
C++ GUI Programming with QT4
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146734
Visual C++ 6傻瓜书 快速参考
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173217
Visual C++ 6.0 编程实例与技巧(PDF中文版)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173210
Visual C++ 21天自学教程
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173174
跟我学Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174442
Visual C++ 6 数据库编程 21天自学教程 CHM
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173173
The C++ Programming Language 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=175018
深度探索C++对象模型
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=176965
Special Edition Using Visual C++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173171
Professional MFC with VC 6
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=166005
Practical C++ Programming
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=173744
Cross-Platform Development in C++
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174168
Iterative UML Development Using VC++ 6
http://bbs.topsage.com/dispbbs.asp?boardID=124&ID=174831
Ace Programmer's Guide
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174449
Visual C++高级界面特效制作百例
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=168630
精通GDI+编程 清华大学出版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=170571

孙鑫C++视频教程 rmvb格式 全20CD完整版
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=156290
C++视频教程 边用边学Visual C++ 6 (ASF格式)
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=177500
中山大学蔡培兴 C++语言视频教程 全51讲 精品推荐
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=158073
C++程序设计视频教程 东南大学何洁月主讲 全80讲(上) 48讲
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181543
C++程序设计视频教程 东南大学何洁月主讲 全80讲(下) 32讲
http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=181546

⑷ 关于:MFC中GDI的编程,现在用SetTextColor设置文本颜色出现问题,具体如下:

我的同样的代码,SetBkColor不起做用,着不了色?在另外的一个工程一样的做法却是可以?
SetTextColor又是可以的,说明程序已正常工作了。

⑸ Windows编程怎么把用GDI绘制好的图形进行拖拽操作

1)处理WM_LBUTTONDOWN消息,获取当然鼠标坐标
2)判断鼠标坐标,如果落在矩形内部,拖动激活标志置1(用一个全局变量或WndProc局部静态变量来实现)
3)处理WM_MOUSEMOVE消息,获取新的鼠标坐标,如果拖动激活标志为1,那么就在新的鼠标位置重新绘制矩形
4)处理WM_LBUTTONUP消息,拖动激活标志置0
大致就这样了,细节地方自己研究。

⑹ 什么是GDI

GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。

在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。

VC++是微软出的一个C++语言的集成开发环境.当用C++进行图形方面的编程时,可以通过使用GDI简化编程.

⑺ C#编程。 使用GDI画出一个五角星。我想让五角星具有按钮的属性。就是可以用鼠标点击,然后可以写点

干吗用GDI,试一下WPF,所有控件外观可以轻松定制。给Button新建一个控件模板,然后加入一个Grid,Grid里添加一个Pentagon(在Microsoft.Exrpession.Shapes命名空间里,要安装Expression Blend)。不想装可以加入一个DrawingBrush,
在里面放Polygon,绘制五边形。

⑻ 谁给我推荐一本关于GDI+的C#高级编程的书

《GDI+高级编程》,《GDI+图形程序设计》,《GDI+程序设计》
http://www.amazon.cn/GDI-%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B-%E6%9D%A8%E5%BB%BA%E6%98%8C/dp/B00328IJ6O/ref=sr_1_fkmr1_1?ie=UTF8&qid=1318138888&sr=8-1-fkmr1
http://www.amazon.cn/GDI-%E5%9B%BE%E5%BD%A2%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1-%E9%92%B1%E5%BE%B7/dp/B0011ASANM/ref=sr_1_fkmr1_3?ie=UTF8&qid=1318138888&sr=8-3-fkmr1
http://www.amazon.cn/GDI-%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/dp/B0011ABUMA/ref=sr_1_fkmr1_2?ie=UTF8&qid=1318138888&sr=8-2-fkmr1

⑼ GDI+高级编程的目录

第1章 .NET Framework 2.0图形设备接口 1
1.1 GDI+Vs GDI、DirectX、OpenGL 1
1.2 Visual Studio 2005集成开发环境与Visual C# 3
1.3 System.Drawing.dll程序集 13
1.4 本章小结 14
第2章 Windows视觉样式和WinForm基础控件 15
2.1 VisualStyles和ControlPaint类 15
2.1.1 视觉样式浏览器 16
2.1.2 ControlPaint类 31
2.1.3 Windows导航栏控件 34
2.2 分层窗口 42
2.2.1 分层窗口的概念 42
2.2.2 CreateParams类 44
2.2.3 使用分层窗口 46
2.3 颜色空间和拾色器 52
2.3.1 颜色空间 52
2.3.2 色彩转换 64
2.3.3 拾色器 75
2.4 本章小结 150
第3章 GDI+与.NET创意控件 152
3.1 不规则形状 152
3.1.1 Circle类 153
3.1.2 Circle类型转换器 159
3.1.3 高级衍生图形 163
3.1.4 WaitingCircle控件 167
3.2 坐标系统与度量单位 175
3.2.1 坐标系统 176
3.2.2 屏幕坐标与工作区坐标 179
3.2.3 度量单位 180
3.2.4 Ruler控件 183
3.3 矩阵变换 192
3.3.1 Matrix类 192
3.3.2 矩阵的仿射变换 194
3.3.3 全局变换和局部变换 199
3.3.4 Tuner控件 204
3.4 设计时支持 211
3.4.1 设计时框架 211
3.4.2 优化属性网格编辑 214
3.4.3 设计器 220
3.4.4 设计器序列化 236
3.4.5 调试设计时代码 243
3.4.6 自定义窗体设计器 244
3.5 添加音效 262
3.5.1 播放声音 262
3.5.2 音乐播放器 264
3.5.3 控制系统音量 272
3.6 管理双倍缓存 273
3.6.1 位图双缓存 273
3.6.2 BufferedGraphics类 278
3.7 本章小结 280
第4章 字体、文本和打印 281
4.1 字体概述 281
4.1.1 基本概念 281
4.1.2 TrueType与OpenType字体 283
4.1.3 Microsoft ClearType技术 284
4.1.4 GDI+中的字体 287
4.2 绘制格式化文本 289
4.2.1 文本修整 289
4.2.2 文本简排 290
4.3 测量文字大小 295
4.3.1 字体规格和排版 295
4.3.2 精确测量文字大小 299
4.4 3D效果文本 301
4.4.1 阴影文本 301
4.4.2 拉伸文本 302
4.4.3 浮雕及雕刻 303
4.4.4 镜像文本 304
4.5 沿路径文字 305
4.5.1 中式圆形印章 305
4.5.2 按任意路径排版 309
4.6 打印 316
4.6.1 打印概述 316
4.6.2 打印设置与打印预览 319
4.6.3 处理页边距和多页 324
4.7 本章小结 328
第5章 动画 329
5.1 播放GIF动画 329
5.1.1 动态GIF图像 330
5.1.2 ImageAnimator类 333
5.2 幻灯片 335
5.2.1 淡入与淡出效果 339
5.2.2 溶解效果 341
5.2.3 收缩效果 343
5.2.4 分散效果 346
5.2.5 翻转效果 349
5.2.6 幻灯片控制器 354
5.3 屏幕保护程序 357
5.3.1 屏保概述 358
5.3.2 肥皂泡泡屏保 359
5.4 GDI+游戏 372
5.4.1 场景控制器 373
5.4.2 处理用户输入 381
5.4.3 人工智能 384
5.5 本章小结 393
第6章 分形艺术 394
6.1 分形概述 394
6.1.1 分形和分形几何 395
6.1.2 分形艺术 398
6.1.3 分形模型 401
6.2 绘制分形图像 405
6.2.1 L-System及其应用 406
6.2.2 美妙的复动力系统 411
6.3 本章小结 424
第7章 图像处理 425
7.1 图像处理概述 425
7.1.1 常见图像格式 426
7.1.2 使用GDI+处理图像 430
7.1.3 处理图像Exif信息 435
7.2 图像预处理 444
7.2.1 单像素重新着色 445
7.2.2 直方图与直方图均衡 454
7.2.3 图像变换 462
7.3 邻域运算与卷积 478
7.4 色彩混合模式 483
7.4.1 伪混合模式 484
7.4.2 可交换对称模式 485
7.4.3 非对称模式 491
7.4.4 其他混合模式 498
7.5 特效虑镜 499
7.5.1 浮雕 500
7.5.2 霓虹 502
7.5.3 毛玻璃 504
7.5.4 柔和 506
7.5.5 素描 509
7.6 其他实用技术 511
7.6.1 图层与混合 511
7.6.2 仅操作选区 515
7.6.3 平滑与羽化选区 518
7.6.4 由Region重构GraphicsPath对象 522
7.7 本章小结 525
附录一 GDI+特性速查 526
附录二 .NET精简版提供的GDI+特性 538参考文献 544

⑽ 关于GDI的Bitblt

CDC::BitBlt

BOOL BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );

返回值:函数成功,返回非零值,否则为0。

参数:
x
指定目标矩形左上角的逻辑x坐标。

y
指定目标矩形左上角的逻辑y坐标。

nWidth
指定目标矩形和源位图的宽度(逻辑单位)。

nHeight
指定目标矩形和源位图的高度(逻辑单位)。

pSrcDC
指向CDC对象的指针,标识待拷贝位图的设备上下文。如果dwRop指定不包括源的光栅操作,则它必须为NULL。

xSrc
指定源位图左上角的逻辑X坐标。

ySrc
指定源位图左上角的逻辑Y坐标。

dwRop
指定要执行的光栅操作。光栅操作代码定义GDC如何合并输出操作中的颜色,包括当前画刷、可能的源位图和目标位图。下面对dwRop列出光栅操作代码及其描述:BLACKNESS
所有输出变黑。
DSTINVERT
反转目标位图。
MERGECOPY
使用布尔AND操作符合并特征与源位图。
MERGEPAINT
使用布尔OR操作符合并特征与源位图。
NOTSRCCOPY
拷贝反转源位图到目标。
NOTSRCERASE
反转使用布尔OR操作符合并源和目标位图的结果。
PATCOPY
拷贝特征到目标位图。
PATINVERT
使用布尔XOR操作符合并目标位图和特征。
PATPAINT
使用布尔OR操作符合并反转源位图和特征。用布尔OR操作符合并这项操作结果与目标位图。
SRCAND
使用布尔AND操作符合并目标像素和源位图。
SRCCOPY
拷贝源位图到目标位图。
SRCERASE
反转目标位图并用布尔AND操作符合并这个结果和源位图。
SRCINVERT
使用布尔XOR操作符合并目标像素和源位图。
SRCPAINT
使用布尔OR操作符合并目标像素和源位图。
WHITENESS
所有输出变白。 有关光栅操作代码的完整列表,请参阅联机文档“Win32 SDK程序员参考”附录节中的“关于光栅操作代码”。

说明:
从源设备上下文拷贝位图到这个当前设备上下文。
应用可以在字节边界上对齐窗口或客户区域,保证BitBlt操作发生在以字节对齐的矩形上(登记窗口类时设置设备CS_BYTEALLGNWINDOW或CS_BYTEALIGHCLIENT标记)。
在字节对齐矩形上的BitBlt操作比未经字节对齐的矩形上的BitBlt操作快许多。如果想对自己的设备上下文指定字节对齐类风格,必须登记窗口类而不要依赖Microsoft基本类。可使用全局函数AfxRegisterWndClass。
一旦使用目标设备上下文和使用源设备上下文,GDI变形nWidth和nHeight。如果结果延伸不匹配,必要时GDI使用Windows StretchBlt函数压缩或拉伸源位图。
如果目标、源和特征位图颜色格式不同,BitBlt转换源和特征位图以匹配目标。转换中使用目标位图的前景和背景色。
BitBlt函数把单色位图转换为彩色时,它设置白色(1)为背景色,黑色(0)作为前景色。使用目标设备上下文的背景和前景色。要把彩色转换为单色,BitBlt把与背景色匹配的像素设置为白色,其余所有像素设置为黑色。在从彩色到单色的转换中,BitBlt使用彩色设备上下文的前景和背景色。
注意,并非所有的设备上下文都支持BitBlt。为检查给定设备上下文是否支持BitBlt,使用GetDeviceCaps成员函数并指定RASTERCAPS索引。

阅读全文

与gdi编程指南相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163