现在的位置: 首页 > 综合 > 正文

MapXtreme 地图保存为图片之解决

2013年10月10日 ⁄ 综合 ⁄ 共 2031字 ⁄ 字号 评论关闭

 

//保存地图图片实体类

public class Save_Map_Picture
    {

        private byte[] photo;//公用缓冲区

        public string SourFilePath;//源图片文件路径

        public string ObjFilePath;//目标图片路径

        public int FileToStream(MemoryStream stream)              //文件到流的转换
        {
           
            photo = stream.ToArray();

            stream.Close();

            return 0;

        }

        public int StreamToFile()                                             //流转换为图片文件
        {

            byte[] bytes = photo;

            string time = DateTime.Now.ToString();

            char[] b = new char[1];

            b[0] = ' ';

            string[] timearr,timearr_date,timearr_time;

            timearr = time.Split(b);

            b[0] = '-';

            timearr_date = timearr[0].Split(b);

            b[0] = ':';

            timearr_time = timearr[1].Split(b);

            time = timearr_date[0] + "_" + timearr_date[1] + "_" + timearr_date[2]+"_"+timearr_time[0] + "_" + timearr_time[1] + "_" + timearr_time[2];;

            FileStream fs = new FileStream("D:\\GPS警车行驶路线图http://www.cnblogs.com/carekee/admin/file://gps_gj_%22+time+%22.png/", FileMode.Create, FileAccess.Write);

            fs.Write(bytes, 0, bytes.Length);

            fs.Flush();

            fs.Close();

            return 0;

        }
   
   
    }

 

[Serializable]

    public class Get_Map_Picture : MapBaseCommand
    {
        public Get_Map_Picture ()
        {
            Name = "Get_Map_Picture ";
        }

        public override void Process()
        {
            MapControlModel model = MapControlModel.GetModelFromSession();

            model.SetMapSize(MapAlias, MapWidth, MapHeight);

            try
            {

                MapInfo.Mapping.Map map = model.GetMapObj(MapAlias);

            }
            finally
            {

                System.IO.MemoryStream ms = model.GetMap(MapAlias, MapWidth, MapHeight, ExportFormat);///地图图片流

                Save_Map_Picture pic = new Save_Map_Picture();

                pic.FileToStream(ms);                          //把地图流写入缓冲区

                int a=pic.StreamToFile();                      //将缓冲区数据写入文件中

                HttpContext.Current.Response.Output.Write(a);        //向客户端报告保存成功与否

  
            }
        }
    }

抱歉!评论已关闭.