MapXtreme 地圖保存爲圖片之解決

 

//保存地圖圖片實體類

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);        //向客戶端報告保存成功與否

  
            }
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章