谁说程序员不懂浪漫——我的C语言结婚请柬(附源码)

前言:但行好事,莫问前程——《增广贤文》

从上学起开始学C++,后面也做过H5,现在做Android。无论是学习用的,还是工作用的,上百个软件不止。但最另我骄傲的是,我用程序烂漫了一把。

用C++语言,利用WIN32框架写一个结婚请柬,文末附源码和使用方法,大家可以自行修改,记得帮我点赞哦。

点开程序,你的电脑像中毒一般,漫天的樱花从屏幕上方,伴随着歌声《今天你要嫁给我》,缓缓落下。

然后,逐个出现婚纱照,效果很简单,先放大,后缩小并移动到固定位置。

这么帅的男孩子,当然是我啦。还特地截了个放大的照片,生怕闪不瞎你。

在所有图片出完后,写上结婚时间,当然,这些文字都是可以修改的,大家如果需要,自行修改即可。

没办法附视频,源码里直接运行的EXE示例和源码,大家自己看吧。

源码效果比较简单,大家可以对其进行改造,比如加上爆炸效果、动态渐变等,发挥自己的创造力吧。

有些小伙伴说很土……就这,还让老婆哭到合不上眼呢……逢年过节,还得拿出来跑两遍。然后再加一句,看以前对我多上心……

示例及源码地址来啦:

关注公-众-号:【启舰杂谈】,回复『请柬』,就可以得到拿到源码和完整示例啦。

 


 

几个注意事项:

1、关闭按钮在哪

虽然是直接运行在桌面上的程序,但并不会打扰电脑桌面操作的,所有图片和文字都是利用GDI画上去的。

关闭按钮在右下角哦:

2、原理及方法

具体原理及GDI使用方法,可以参考我很久以前写的博客……

如何将Debug文件夹下的资源打包成一个EXE文件直接执行》:这篇文章可以教你将所有的exe和资源打包到一个exe文件中,只发给对方这一个exe文件,就可以执行出完整的效果了。

《利用GDI+基于WIN32实现桌面雪花效果(一)》

《利用GDI+基于WIN32实现桌面雪花效果(二)》

这两篇文章教你如何实现了纷纷飘下的雪花效果,是本文效果的雏形。其它的API知识,我博客里没有再讲,理解了这些,看看代码也都不难。

利用这个代码,你可以尽情改造,给女朋友,给父母,给朋友,逢年过节来一套,土味情话整一整,哈哈哈哈哈哈。

看完别走,记得帮我点赞呀。

关注公众号【启舰杂谈】回复『Android』、『java』、『ReactNative』、『H5』、『javaweb』、『面试』、『机器学习』、『web前端』、『设计模式』、『考研』、『产品经理』、『运营』等关键字获取对应资料,共2184G,涉及43个开发方向,入门/进阶/实战都有,一千多册电子书和九百多套视频教程。

公众号【启舰杂谈】,作者启舰,出过书、创过业,呆过阿里、现在VIVO,啥都会点的安卓开发。

全网2184G计算机各方向视频教程/电子书汇总(持续更新中)

 

爆文推荐:

你是怎么变自律的?【爆帖】

计算机考研,这样选学校才是正解【爆帖】

启舰:有哪些让程序员受益终生的建议【爆帖】

对计算机专业来说学历真的重要吗?​【爆帖】

在中国程序员是青春饭吗?【爆帖】

计算机专业如何高质量的走完大学四年?毕业成为Offer收割机

 

更多启舰原创文章:

启舰杂谈文章列表

本人所有文章都受版权保护平台签约保护,著作权归启舰所有,未经授权,转载必究,谢谢合作。

相关推荐
vs2017环境下成功编译,vc6.0编译不通过 #include "stdafx.h" #include #include #include #include // 使用该计时器必须包含的文件 #pragma comment ( lib, "Winmm.lib" ) using namespace std; #define LONG 800 // 窗口长 #define WIDE 500 // 窗口宽 #define NUM 13 // 烟花种类数量宏定义 void Init_Fire(); // 初始化烟花 void Load_Image(); // 加载烟花图片 void Shoot(); // 发射烟花 void Chose(DWORD& t1); // 筛选烟花 void Show(DWORD* pMem); // 绽放烟花 void Erase(DWORD* pMem); // 随机擦除像素点 // 烟花结构 struct FIRE { int r; // 当前爆炸半径 int max_r; // 爆炸中心距离边缘最大半径 int x, y; // 爆炸中心在窗口的坐标 int cen_x, cen_y; // 爆炸中心相对图片左上角的坐标 int width, height; // 图片的宽高 int xy[240][240]; // 储存图片像素点 bool show; // 是否绽放 bool draw; // 开始输出像素点 DWORD t1, t2, dt; // 绽放速度 }Fire[NUM]; // 烟花弹结构 struct JET { int x, y; // 喷射点坐标 int hx, hy; // 最高点坐标------将赋值给 FIRE 里面的 x, y int height; // 烟花高度 bool shoot; // 是否可以发射 DWORD t1, t2, dt; // 发射速度 IMAGE img[2]; // 储存花弹一亮一暗图片 byte n : 1; // 图片下标 }Jet[NUM]; // 初始化烟花参数 void Init_Fire() { // 分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离 (x、y) 两个分量 int r[13] = { 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155 }; int x[13] = { 120, 120, 110, 117, 110, 93, 102, 102, 110, 105, 100, 108, 110 }; int y[13] = { 120, 120, 85, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85 }; for (int i = 0; i < NUM; i++) // 初始化烟花 { Fire[i].x = 0; // 烟花中心坐标 Fire[i].y = 0; Fire[i].width = 240; // 图片宽 Fire[i].height = 240; // 图片高 Fire[i].max_r = r[i]; // 最大半径 Fire[i].cen_x = x[i]; // 中心距左上角距离 Fire[i].cen_y = y[i]; Fire[i].show = false; // 是否绽放 Fire[i].dt = 5; // 绽放时间间隔 Fire[i].t1 = timeGetTime(); Fire[i].r = 0; // 从 0 开始绽放 Jet[i].x =
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页