最近本民工忙于编写“祖玛”的游戏,由于游戏开发中需要描绘小球滚动的路径,特此编写该工具,用来提取BMP图片中黑点所描绘路径的坐标点。
原本打算用MFC来写,由于俺初学这方面的知识,加上需求时间紧迫,所以暂用C++/CLI开发,因为原先有用C#开发过其他的工具,上手会快一些。
呵呵,下面就说说这个简单的“提取图片中路径坐标的工具”吧。
图中是一条用黑色( R:0, G:0, B:0 )点描绘的路径,起点在左下角,点红色(R:255, G:0, B:0 )像素,终点在右上角,点兰色( R:0, G:0, B:255 )像素。
见放大图:
红色的起点
蓝色的终点
点击“转换保存”,起点和终点的坐标被提取至对话框,同时另存为 *.txt 的文档,生成从起点至终点的系列坐标。
见下图:
{ 0 ( 序号 ) , 0 ( X坐标 ) , 185 (Y坐标) } ,以上123.txt只是部分截图。
-------------------------以下介绍制作流程----------------------------
1.查找红色和兰色的像素点
1.1 定义 Bitmap^ CLRWimage;
1.2 逐点扫描提取逐点的像素 pixelColor = CLRWimage->GetPixel( x, y );
1.3 判断是否为红色或者兰色,如果是该颜色,退出扫描,提取坐标。(是在起点和终点分别为一个的情况下)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/7ff8d92cded7e0ce15e7ca1acc870052.gif)