C#
文章平均质量分 82
林子xxx
工作多年,现在才想起写博客。
展开
-
C#:base64解码显示
base64解析原创 2022-10-05 20:07:08 · 1638 阅读 · 1 评论 -
C#游戏《坦克大战》--主程序
今天和女朋友分手,写一段技术博客以平静心态。1.统计信息用于主界面显示各种信息 //统计 public struct t_statistics { public int generateenemyNum; //生成敌人数量 public int destroyenemyNum; //已经摧毁的敌人数量 public int GetcurrenemyNum() //原创 2020-07-18 17:33:42 · 698 阅读 · 0 评论 -
C#游戏《坦克大战》--坦克
1.坦克相关信息这里的各种类型,使用struct而不是enum,避免后面强制转换。 //子弹信息 public struct t_bulletinfo { public int idx;//链表中的顺序号 public int dir;//当前方向 public t_bulletinfo(int i, int d) { this.idx = i; this.dir原创 2020-07-17 20:03:12 · 895 阅读 · 0 评论 -
C#游戏《坦克大战》--地图
疫情期间无聊,用C#写了个游戏《坦克大战》。1.概述程序主要包括地图部分,坦克部分,和碰撞检测部分。本章只写地图部分。2.地图系统地图包括底图和上面的地形元素,比如草地(减缓速度),土墙(容易击破),河流(能通过子弹但阻碍坦克)等。而且允许自定义各种地形。3.重点地图系统的重要功能是绘图,并保存地图元素,以便主程序进行碰撞判断。1.可以加载图片当作底图,也可以随机生成。2.绘制元素,或擦除元素并恢复原来的地图内容。3.需要保存工具,下次打开程序还能继续使用。原创 2020-07-16 20:59:18 · 1224 阅读 · 0 评论 -
C# MandelBrot分形图绘制
一。代码注:这里为了制造多个渲染效果使用委托类来当作函数指针使用。 private static Random rn = new Random(); private delegate UInt32 _dg_GetUint32Color(int i); private const int mb_iteration = 24; //迭代次数限制 private static _dg_GetUint32Color[] _m.原创 2020-07-15 21:16:08 · 682 阅读 · 0 评论 -
拼图游戏
1.首先布置好界面。标题栏,菜单栏,状态栏,以及放置图片框的panel。2.定义图片框类 /// <summary> /// 图片框类,包含虚拟XY位置 /// </summary> public class PictureBoxEx : PictureBox { private Point _xy ; ...原创 2018-08-07 22:08:45 · 663 阅读 · 0 评论 -
C# gif截取
很多时候下载了gif动画,但只想截取其中的的一部分(包括画面的一部分或者部分帧),于是做了个软件完成这部分功能。1.软件布局点击“截取”按钮则跳出保持对话框,“调整”按钮可进行GIF速度与分辨率调整,点选1:1会限制截取框的比例,开始与结束为需要保存的帧范围。2.代码需要引入Gif.Components.dll,网上可以下载这个dllusing System;us原创 2018-03-07 21:45:09 · 749 阅读 · 0 评论 -
C# 类似PS的魔棒工具(2)羽化
上一篇文章写了所谓的魔棒工具其实离可以使用的魔棒还差得远,不过已经可以找到边界和掩码图了,这篇文章讲讲魔棒的边界羽化功能。1、羽化的概念以前学习过PS,大概知道羽化的作用,却不知道什么原理。现在要实现这个功能,当然不能在像以前那样只知道使用用不知道原理了。百度百科上说,羽化使选中的图像边缘呈现半透明过渡的效果,这有利于在不同图像中合成效果。也就是说,羽化其实是一种透明效果。貌似PS里有个a原创 2017-12-25 20:21:14 · 2288 阅读 · 0 评论 -
C# 魔棒工具-漫水填充算法优化
之前在魔棒工具的文章里写过一个漫水填充算法,实际使用效果并不好。这是因为算法将图片转为灰度再去与种子点的灰度比较。可以想象,这种做法是不合理的(虽然通常都是这么做)。比如两个视觉上相差很明显的颜色,其灰度值很有可能一样或者相差不大(无论你怎么修改RGB三者权重,终归会遇到这种情况)。所以最好是对颜色的ARGB四个分值分开进行比较,如果速度允许,可以计算方差;如果希望速度快一点,就直接计算差值。原创 2018-01-07 10:51:02 · 1508 阅读 · 1 评论 -
颜色转换助手RGB888-565
工作中有时需要将颜色的到模式转换,比如rgb888与rgb565之间,有时还需要选择图片上某处颜色,还要知道RGB值。为了方便,便做了个小软件。1.rgb888与rgb565的转换如下,888到565是有损失的。 //根据RGB数值改变色盘颜色 private void set_color() { if (bt原创 2017-12-19 19:49:24 · 8729 阅读 · 0 评论 -
C# 自定义画刷研究
windows系统中的画板工具,有好几种画刷,C#中并没有直接对应可使用的类,只能自己研究。原创 2018-01-22 19:50:51 · 1113 阅读 · 0 评论 -
C# 图片转换ICO工具
以前总是喜欢用在线的方法将图片转换ICO文件。要是没网就是没办法了。所以做了一个软件工具。将BMP,JPG,PNP,GIF.ICO转换为规定大小的ICO文件。1.文件格式判断不通过文件扩展名而是通过二进制文件头进行格式判断。 /// /// 通过读取文件头,判断是否为图片格式,并输出至typename /// /// 图原创 2018-01-21 18:59:11 · 6655 阅读 · 2 评论 -
C# 类似PS的魔棒工具(1)
最近一段时间在开发一个画图软件,其中需要实现魔棒功能。网上浏览了一圈,没有找到。苦思之后,终于开窍了:。思路是:先用漫水填充算法, 获得一张连通区域的二值图。然后对这幅图进行边缘检测,获取边缘。如果使用emgucv或者opencv,可以直接使用函数floodFill()获得区域,再函数Canny()与FindContours()函数获得边界。1.漫水填充这里我不适用emgucv的方法,使用原创 2017-12-25 18:53:18 · 2409 阅读 · 0 评论