最近本民工忙于编写“祖玛”的游戏,由于游戏开发中需要描绘小球滚动的路径,特此编写该工具,用来提取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 判断是否为红色或者兰色,如果是该颜色,退出扫描,提取坐标。(是在起点和终点分别为一个的情况下)
Bitmap
^
CLRWimage;
private : System::Void ResearchRedPix( int & x, int & y)
... {
Color pixelColor;
for(y = 0; y < 240; y++)
...
private : System::Void ResearchRedPix( int & x, int & y)
... {
Color pixelColor;
for(y = 0; y < 240; y++)
...