分享代码 快乐编程

一起学习,一起进步,从分享代码开始~

实现水波纹显示效果(by 豪)

当鼠标滑过时,可以在屏幕上实现漂亮的水波纹效果。

执行效果如下:

源代码如下:

/****************************************************
 * 程序名称:实现水波纹显示							*
 * 编译环境:Visual C++ 6.0,EasyX 20130114(beta)	*
 * 作  者:豪 (QQ: 415051674)						*
 * 核心算法:参考网上算法								*
 * 最后修改:2013/3/20								*
 ****************************************************/


#include <graphics.h>     
#include <conio.h>
#include <stdio.h>

#define PIC_HEIGHT 600
#define PIC_...

[图像处理] 将图片转换为马赛克效果

这个程序将图片转换为马赛克效果。

算法原理:求出每个小方块内所有像素的颜色平均值,然后用来设置为该小方块的颜色。依次处理每个小方块,即可实现马赛克效果。

完整代码如下:

/////////////////////////////////////////////////////////
// 程序名称:将图片转换为马赛克效果
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20130322(beta)
// 作    者:krissi <zh@easyx.cn>
// 最后修改:2013-4-22
//
#include <graphics.h>
#include <conio.h>

// 将图片转换为马赛克效果
// 参数:
//		pimg: 待处理的 IMAGE 对象指针
//		tilesize: 马赛克的尺寸
//		startx: 马赛克的平铺起始位置 x 坐标
//		starty: 马赛克的平铺起始位置 y...

[图像处理] 将图片进行模糊处理

这个程序实现将图片进行模糊处理。

本程序的模糊处理算法:遍历图片像素,将每个像素颜色值与其周围像素颜色值求和,取平均值对其赋值。

完整代码如下(注意图片文件的路径):

/////////////////////////////////////////////////////////////////////////
// 程序名称:将图片进行模糊处理
// 编译环境:Visual C++ 6.0 ~ 2017,EasyX 20180727(beta)
// 作  者:krissi <zh@easyx.cn>
// 发布日期:2013-1-19
// 最后修改:2018-10-5
//
#include <graphics.h>
#include <conio.h>				

// 将图片进行模糊处理
void Blur(IMAGE *pimg)
{
	DWORD*	pMem = GetImageBuffer(pimg);

	int	r, g, b...

[图像处理] 彩色图片转化成底片效果

这个程序实现将图片转化成底片效果。

底片效果使用如下公式:

R = 0xFF - GetRValue(pMem[i]);

G = 0xFF - GetGValue(pMem[i]);

B = 0xFF - GetBValue(pMem[i]);

完整代码如下:

/////////////////////////////////////////////////////////
// 程序名称:底片效果
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20130114(beta)
// 作    者:krissi <zh@easyx.cn>
// 最后修改:2013-1-20
//
#include <graphics.h>
#include <conio.h>

// 底片效果
void ColorInvert(IMAGE *pi...

[图像处理] 彩色图像转换为灰度图像

这个程序实现将彩色图像转换为灰度图像。

彩色转换为灰度使用如下公式:

Gray = R * 0.299 + G * 0.587 + B * 0.114

为了提高运算速度,将这个公式转换为整数运算:

Gray = (R * 229 + G * 587 + B * 114 + 500) / 1000

为了提高运算速度的方法还有很多,这里作为演示,不再详述。

完整代码如下:

/////////////////////////////////////////////////////////
// 程序名称:彩色图片转换为灰阶图片
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20130322(beta)
// 作    者:krissi <zh@easyx.cn>
// 最后修改:2013-...

祝福烟花

你是否还在苦恼朋友生日时一条简单的祝福短信不够分量嚒?

你是否还在犹豫如何在现实中诚心诚意地表达自己的感情嚒?

那么看了该文章,相信只要是心里有爱的盆友都会灵光乍现,

加上自己的创意,给你的 TA 送去属于你自己的祝福烟花吧!

动画运行截图:

完整的动画 VC++ 源代码下载:<点击这里下载>

青蛙过河小游戏 v1.0(by P_S_I)

这是一个很典型的游戏,很多程序使用的也是这种结构,制作多个元件同时的运动。还有如何用光栅获得透明背景。希望我的小作品能抛砖引玉,给大家一点启发!

待扩展的功能: 

  • 难度、更多关卡、商店、分数排行榜、岸上的障碍。
  • 背景音乐、音效、鼠标控制、时间限制等。

游戏规则:

  • WSAD 控制,ESC 退到主界面,再按则退出。
  • 木板间隔是随机的。
  • 生命归零时游戏结束。
  • 渡河会导致1条河道速度 +2。
  • 死亡会导致所有河道速度 -1。
  • 青蛙出界或落水算死亡。
  • 不会在第一道出界。
  • 积分的算法是四条河道速度相加。
  • 金币留给以后扩展程序。

源码说明:

  • 图片放在res文件夹里,请把 res 和 frogger.exe 放在同一个文件夹里。
  • 关于各种元件的代码分别写在以它们命名...

迷宫 2:支持自己创建迷宫,并求解最短路径(by Redman)

本迷宫游戏支持用户自己创建迷宫,定义迷宫的出入口,并求解最短路径。

游戏运行抓图如下:

使用方法:

  1.  执行程序后,先按 s,开始用鼠标绘制迷宫墙壁。
  2.  绘制完墙壁后,按 e,用鼠标设置迷宫的出入口。
  3.  设置好出入口之后,按 d,动态演示迷宫的最短路径。

游戏采用面向对象技术编写,完整的游戏 VC++ 源代码下载:<点击这里下载>

作者:Redman
邮箱:huangxionging@163.com