CodeBus

分享代码,一起进步~

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

这个程序实现将图片进行模糊处理。 本程序的模糊处理算法:遍历图片像素,将每个像素颜色值与其周围像素颜色值求和,取平均值对其赋值。 完整代码如下: ///////////////////////////////////////////////////////////////////////// // 程序名称:将图片进行模糊处理 // 编译环境:Visual C++ 6.0 / 2010,EasyX 20130114(beta) // 作  者:krissi <zh@easyx.cn> // 最后修改:2013-1-19 // #include <graphics.h> #include <conio.h> // 将图片进行模糊处理 void Blur(IMAGE *pimg) { DWORD* pMem = GetImageBuffer(pimg); COLORREF color; int r, g, b; int num = 0; int width = pimg->getwidth(); int height = ... [更多...]

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

这个程序实现将图片转化成底片效果。 底片效果使用如下公式: 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 *pimg) { // 获取指向显存的指针 DWORD* pMem = GetImageBuffer(pimg); // 直接对显存赋值 for(int i = pimg->getwidth... [更多...]

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

这个程序实现将彩色图像转换为灰度图像。 彩色转换为灰度使用如下公式: 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-1-19 // #include <graphics.h> #include <conio.h> // 彩色图像转换为灰度图像 void ColorToGray(IMAGE *pimg) { DWORD *p = GetImageBuffer... [更多...]

青蛙过河小游戏v1.0

作者感想 这是一个很典型的游戏,很多程序使用的也是这种结构,制作多个元件同时的运动。还有如何用光栅获得透明背景。希望我的小作品能抛砖引玉,给大家一点启发! 待扩展的功能 难度 更多关卡 商店 分数排行榜 岸上的障碍 背景音乐 音效 鼠标控制 时间限制 等 游戏规则 WSAD控制,ESC退到主界面,再按则退出。 木板间隔是随机的。 生命归零时游戏结束。 渡河会导致1条河道速度+2。 死亡会导致所有河道速度-1。 青蛙出界或落水算死亡。 不会在第一道出界。 积分的算法是四条河道速度相加。 金币留给以后扩展程序。 源码说明 图片放在res文件夹里,请把res和frogger.exe放在同一个文件夹里。 关于各种元件的代码分别写在以它们命名的cpp里。 几乎所有能改的常量都定义在constant.h里。 运行截图 完整源代码 完整的游戏 VC++ 源代码:<点击这里下载> 作者:P_S_I

扔香蕉的大猩猩(怀旧)

又是一个怀旧的游��,让我想起了以前学习编程的时候。 这个游戏模仿的微软在 20 多年前的一个小游戏,不知道谁也有印象呢?图片都是从原来的游戏中抓图弄出来的,颜色也是从原游戏抓图中取色设置的,应该和原来的风格很像。 你的任务是用香蕉击中你的对手。 你可以通过鼠标调整投掷香蕉的角度和力度,香蕉会受重力加速度的影响。同时,请注意屏幕底部表示风力的箭头,香蕉同样会受风力影响。风力的箭头越长,表示风力越强。还有,周围的楼宇会阻挡你的香蕉。 游戏运行效果如下: 游戏源代码如下(注意,除了以下代码,还需要两个图片文件,在底部的压缩包里面有): // 程序名称:扔香蕉的大猩猩 // 编译环境:Visual C++ 6.0 / 2010,EasyX_20130130(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2013-3-3 (2012-9-23) // 本游戏是仿照微软很古老的一个游戏写的。 // 游戏说明:你的任务是使用香蕉击中你的对手。 //      可以调整扔的角度和力度,同时香蕉还受风速、重力加速度和楼宇的影响。 // #inclu... [更多...]

RPG 游戏:新精灵

这是一个 RPG 游戏,是作者树之根在暑假写的。 游戏运行截图如下: 源代码太长了,有 7000 多行,所以,这里直接提供代码打包下载: 下载:新精灵 作者:树之根

贪吃蛇游戏的双人对战版

这是贪吃蛇游戏的双人对战版。 游戏双方分别控制蓝色和红色两条小蛇的前进,碰壁或咬到蛇身体算输。 这个对战版的贪吃蛇游戏网上有不少源代码,这个代码的特点就是为两个游戏者分别增加了命令队列,以实现更舒服的控制。 完整的游戏源代码如下: /////////////////////////////////////////////////// // 程序名称:贪吃蛇游戏的双人对战版 // 编译环境:Visual C++ 6.0 / 2010,EasyX_20130322(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2012-7-23 // #include <graphics.h> #include <conio.h> #include <time.h> #include <queue> using namespace std; #define WIDTH 64 // 游戏区域网格宽度 #define HEIGHT 48 // 游戏区域网格高度 #define ITEMSIZE... [更多...]

三辆行驶的小车

本程序模拟了以不同速度形式的三辆小车。 源代码如下: //////////////////////////////////////////// // 程序名称:3 辆行驶的小车 // 编译环境:Visual C++ 6.0,EasyX_20120603(beta) // 程序编写:E_SHARE <501748772@qq.com> // 编写时间:2012-6-26 //////////////////////////////////////////// #include <graphics.h> #include <conio.h> #include <stdlib.h> #include <stdio.h> // 声明需要使用的函数 void carstart(int x, int y, int z); void drawbus(); void init(); // 定义全局变量 IMAGE img; //////////////////////////////////////////// void main(... [更多...]

图片转化为 ASCII 图,就是很多字符组成图片的那种

本程序实现将图片转换为 ascii 字符的效果。 使用说明 支持 bmp / jpg / gif / emf / wmf / ico 类型的图片。gif 类型的图片仅加载第一帧,不支持透明。我只测试过jpg格式。请把要转换的图片复制到exe程序所在的文件夹,并确保图片名中没有中文等无法输入的字符。运行exe文件即可转换。因为txt文件的行距,字符间距等原因,为了达到最好效果,请先把图片的高度压缩到原来的1/2(宽度不变)转换根据图片的实际大小操作,如果图片过大,请修改图片尺寸,或者手工修改txt中字符的尺寸,以便能够完全显示 备注 这仅仅是一个demo,里边存在不少问题,比如ASCII灰度实际上是按照8*16像素扫描的;实际使用的ASCII灰度值我修改过,并非原来的灰度等等 为了更精确的控制字体的尺寸,间距,行距,html文件是个不错的选择,如果你愿意的话,你可以选择完善这个demo,做成一个很实用的小小的软件,但是让一个东西变得更加精致,并不是我的兴趣所在,所以估计今后我也不会再修改这个程序了。 为了方便你的完善,我给你写了一段灰度扫描的程序,有自己的main(),可以独立的运行。 ... [更多...]

力学:鼠标用弹簧挂着一串小方块

看到最近力学程序受欢迎,我就翻出来以前收藏的一个 javascript 脚本,也是力学相关的,模拟出几个小方块用弹簧连接到鼠标上的效果。当鼠标在绘图窗口上移动时,可以看到小方块连续受力的效果。 动态程序就不再抓图了。源代码如下: /////////////////////////////////////////////////// // 程序名称:力学:鼠标用弹簧挂着一串小方块 // 编译环境:Visual C++ 6.0 / 2010,EasyX 20120404(beta) // 原 作 品:很早以前收藏的一个 javascript 脚本,源地址忘了 // 移植作者:yangw80 <yw80@qq.com> // 最后修改:2012-4-27 // #include <graphics.h> #include <math.h> #include <time.h> const int WIDTH = 640; // 窗口宽 const int HEIGHT = 480; // 窗口高 const int BOXCOUN... [更多...]