当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 矢量图融合到位图编程总结ix = o ns = "ur
 

 

    摘要:呵呵,要实现这个功能简单得厉害: private sub form_load() app.taskvisible = falseend sub 微软作软件就是这样破烂,为什么不把这个功能加到工程属性里面设置呢?偏偏要搞个app对象,好让你不知道... ......
 ·asp及web开发中的常见问题.    »显示摘要«
    摘要:表格的折行处理. <table style="table-layout: fixed" width="200" border="0" cellspacing="0" cellpadding="7" bgcolor="#f7f7f7"> <tr> <......


矢量图融合到位图中
矢量图融合到位图编程总结

确定所需要处理的问题后就可以着手设计了. 【程序编程相关:我收集的CS地图&mod制作网址

矢量图融合到位图其实也就是程序打开一幅位图(称为bmp),然后在上面绘制一些图形或文字后(称为vg),vg融合到bmp中,也就是从根本上改变bmp的数据内容. 【推荐阅读:编译资源进入可执行程序

仔细考虑之后,感觉到前面考虑的太想当然了.打开位图时是把位图数据保存到一块内存数据区域中,程序每次刷新时把这块位图信息读入设备上下文,然后显示出来,而我们通过cdc设备来绘制图形,然后把驻留在内存中的位图保存下来.打开我们保存后的位图发现,竟然没有我们绘制的图形,图像还是原来的图像.回顾整个修改位图的过程发现,使用cdc绘制图形时好像与这幅位图的数据没有任何干系.反过来思考,那么既然vg与bmp同时通过设备显示出来了,那么这个设备上肯定有bmp与vg的信息的.展开思路,重新考虑这个问题.既然设备上有我需要的东西,那把它取出来不就可以了嘛.经过一番考虑形成了从设备上下文取位图的方法如下: 【扩展信息:linux下使用系统调用编程实现dir命

首先,在没有深入考虑之前,这是一个再简单不过的问题了,所以把它放到最后处理.因为这个功能普遍存在.打开一幅位图---画图--保存位图,然后绘制的信息就保存到位图上了.

hbitmap cimagestudiodoc::getsrcbit(hdc hdc,crect rect)

{

??? hdc hbufdc;

??? hbitmap hbitmap, hbittemp;

??? //创建设备上下文(hdc)

??? hbufdc = createcompatibledc(hdc);

??? //创建hbitmap

??? hbitmap = createcompatiblebitmap(hdc, rect.width(), rect.height());

??? hbittemp = (hbitmap) selectobject(hbufdc, hbitmap);?

??? //得到位图缓冲区

??? bitblt(hbufdc, 0, 0, rect.width(), rect.height(),

?????? hdc, rect.left,rect.top,/* bitwidth, bitheight,*/ srccopy);

??? //得到最终的位图信息

??? hbitmap = (hbitmap) selectobject(hbufdc, hbittemp);

??? //释放内存

??? deleteobject(hbittemp);


...   下一页
 ·请教:调试时出现的问题    »显示摘要«
    摘要:问题类如下: class cuserframe : public cmdichildwnd 调用函数如下,实现功能是只能生成一个子框架和视图: void cdatamartapp::onusermanagement(){ extern cuserframe * busermanagement; if(!busermanagement) { cmainframe* pframe = stati......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE