-
VC 区域放大图像 鼠标位置放大
VC++实现一个图片区域的放大,当鼠标悬停于图片的某一处时,放大显示该区域的图像,不过测试切现,本程序同时也可缩小图片,不过操作体验方面还需要改进,初始化时,按原来大小显示位图,鼠标移动的位置激活时,计算要放大的局部矩形的源图像位置和目标位置。如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数大于5,就继续减小放大倍数,然后进行放大显示,如果鼠标位置不在位图上,则还原位图大小显示,如果放大倍数小于150,就继续增加放大倍数,然后进行放大显示。
- 2022-08-08 13:50:08下载
- 积分:1
-
VC++ OpenGL粒子系统之火山喷发
VC++ 带音效的OpenGL粒子系统之火山喷发,作者:蔡真真 张田田。选择运行参数后,在音效的配合下,很逼真的火山喷发效果展现在眼帘。程序中为每个动态元素都制作了操作类,比如键盘类和程序框架类 、粒子系统火山喷发类、字体类、载入位图类、粒子定义类、粒子系统喷发具体实例类,粒子系统火山喷发模式选择对话框类等,这些类的共同发力,实现了逼真的火山喷发效果,当然你的电脑中需要安装有OpenGL组件,在预览效果时,可选择窗口大小以及全屏、音效等。
在具体实例类中,完成了核心的火山叶喷发功能,比如计算帧速、输出文字信息、绘制地面、绘制天空、绘制背景、初始化粒子、更新粒子等操作。当然,粒子定义类也是一个很主要的操作类。
- 2023-02-15 21:10:04下载
- 积分:1
-
基于C++的打砖块游戏源码
基于C++的打砖块游戏源码,就是撞球游戏了,打乒乓球的,不过这个源代码基于C++ 实现,运行后会自动全屏,界面效果如截图所示,源代码是来自国外网站的,全部是英文注释,有兴趣的学习研究一下,游戏的操控效果还是很流畅的,值得学习。
- 2023-07-17 19:35:03下载
- 积分:1
-
VC++ 音频编程:一款简洁实用的Mp3播放器
VC++ 音频编程:一款简洁实用的Mp3播放器源代码,只是实现基本的MP3文件播放、暂停、音量控制等功能,界面采用的传统窗体风格,核心代码在下载本源码后,可参考Mp3PlayerDlg.cpp文件,运行效果如图所示。
- 2023-08-24 23:00:04下载
- 积分:1
-
VC.NET输入框出现气球提示
VC++.net实现输入框气球提示,本源码最主要演示EDITBALLOONTIP的用法。当用户拖动最小化窗口时系统调用此函数取得光标显示,然后调用预设的提示信息显示给用户,让用户知道此输入框应该输入什么类型的内容,用户体验更好。
- 2022-01-26 20:21:11下载
- 积分:1
-
VC6.0 对联合查询后的数据结果集进行排序
VC6.0 对联合查询后的结果进行排序,对获得的记录集进行排序,这是个同样实用的功能,特别在一些中小企业的数据库系统中,尤其实用,对数据分析很有帮助。本例子中的排序主要是两种常用形式:升序排列和降序排列。最终的排序结果绑定于Datagridview数据显示控件中显示。
- 2022-07-13 07:35:09下载
- 积分:1
-
VC++ MDI多文档位图的复制和粘贴功能实现
多文档(MDI):实现在多个文档中位图的复制和粘贴操作,使用说明:打开一个图像,使用“编辑”菜单中的“复制”和“粘贴”对图像进行操作,清除剪切板的内容,拷贝DIB!
CMDICopyBitmapDoc* pDoc = GetDocument();
pDoc->ReplaceHDIB(hNewDIB); // 释放旧的DIB
pDoc->InitDIBData(); // 建立新的调色板及尺寸
pDoc->SetModifiedFlag(TRUE);
SetScrollSizes(MM_TEXT, pDoc->GetDocSize());
OnRealizePal((WPARAM)m_hWnd,0); // 实现新的调色板
pDoc->UpdateAllViews(NULL);
- 2022-01-25 22:15:31下载
- 积分:1
-
VC++ 图像压缩:将BMP文件压缩成JPG文件
VC++ 图像压缩:将BMP文件压缩成JPG文件,在完成图片压缩的同时,转换图片的格式了,完成这些功能借助了一款外部的DLL文件,JpgDll.dll,因此在编译时请确保此文件存在。
操作方式也挺简单,如图所示,打开指定的BMP文件,然后单击“压缩”按钮,操作完成单击“保存”即可。
- 2022-02-15 22:47:52下载
- 积分:1
-
带有服务端和客户端的VC++点对点,聊天及源码
带有服务端和客户端的VC++点对点,聊天及数据传输源码,也就是大家熟悉的CS结构,一个是接收消息,一个是发送消息,在服务端和客户端都可以显示消息内容和连接状态。运行的最终效果请参见如图所示。
运行图是Server服务端的效果,客户端没有编译。
void CClientDlg::OnBottonsend()
{
UpdateData();
if (!m_strSend.IsEmpty())
m_client.Send(m_strSend,m_strSend.GetLength());
else
AfxMessageBox("发送内容不能为空!");
}
- 2022-11-23 12:00:03下载
- 积分:1
-
VC++ 版 GDI+程序设计实例源代码实例集
gdiplus应用实例,在网络上广泛流传的“GDI+程序设计实例源代码”中使用的是C#语言,且封装了开源对象,
源代码主要在 “Form1.cs” 中,其功能的实现形式与.Net的MSDN帮助不同。
作者对该源代码进行了移植,在VC的非 UNICODE 环境下进行了修改,主要处理:
1、提供了一个 multibyte 与 widechar 的转化类 CWideCharString
实现 char* 与 WCHAR* 的转换有许多方法,如:
a) CWideCharString(char*) 得到 WCHAR*
b) L"char* string" 得到 WCHAR*
c) 在非UNICODE环境下,CString(WCHAR*) 得到 char*
2、将原C#中的Math、Shell等对象转换为普通的VC函数,如定义了 rand_Next 等。
3、将原C#代码中的new改为VC的引用或指针,避免了在VC中对new的重载和delete的繁杂调用所带来的内存泄漏
4、定义了一组MyDrawString函数,替换原代码中的 graphics.DrawString(...),保持了原C#代码中DrawString的参数顺序和引用方式,增加了两个 _MakeA_RGB 函数
5、因为 Image::Save 要求保存的文件不得存在,而在演示中可能会反复执行Save,所以提供了 MyImageSave 函数,先判断文件是否存在,若存在则删除,然后 Save.
6、为尽可能保持原代码的风格,在 CWalkLtDemo.cpp 的 OnDraw(...) 函数中提供一个void DoGdiplusDemo(...) 函数,该函数负责向各功能演示函数中传递所需要的绘图区和Graphics实例。
7、在主菜单“查看”项下增加了“GDI+功能演示”和“当前演示的源代码”菜单,并在工具条上增加了相应按钮。
8、程序已在VC6和VC++.NET中进行了完全的测试。
本源码包中使用的 gdiplus*.h 中对 Color 和 Point 进行了重新声明,分别为:
GdiPlusColor 和 PointI
为与MSDN中的 Color 和 Point 相一致,在WalkLtDemoHelp.h中使用了 typede
- 2023-07-17 07:35:04下载
- 积分:1