Aurora.Addon.HyperGrid.GatekeeperServiceConnector.GetMapImage C# (CSharp) Метод

GetMapImage() публичный Метод

public GetMapImage ( UUID regionID, string imageURL, string storagePath ) : UUID
regionID UUID
imageURL string
storagePath string
Результат UUID
        public UUID GetMapImage(UUID regionID, string imageURL, string storagePath)
        {
            if (m_AssetService == null)
            {
                MainConsole.Instance.DebugFormat ("[GATEKEEPER SERVICE CONNECTOR]: No AssetService defined. Map tile not retrieved.");
                return m_HGMapImage;
            }

            UUID mapTile = m_HGMapImage;
            string filename = string.Empty;
            Bitmap bitmap = null;
            try
            {
                WebClient c = new WebClient ();
                string name = regionID.ToString ();
                filename = Path.Combine (storagePath, name + ".jpg");
                MainConsole.Instance.DebugFormat ("[GATEKEEPER SERVICE CONNECTOR]: Map image at {0}, cached at {1}", imageURL, filename);
                if (!File.Exists (filename))
                {
                    MainConsole.Instance.DebugFormat ("[GATEKEEPER SERVICE CONNECTOR]: downloading...");
                    c.DownloadFile (imageURL, filename);
                }
                else
                    MainConsole.Instance.DebugFormat ("[GATEKEEPER SERVICE CONNECTOR]: using cached image");

                bitmap = new Bitmap (filename);
                //MainConsole.Instance.Debug("Size: " + m.PhysicalDimension.Height + "-" + m.PhysicalDimension.Width);
                byte[] imageData = OpenJPEG.EncodeFromImage (bitmap, true);
                AssetBase ass = new AssetBase (UUID.Random (), "region " + name, AssetType.Texture, regionID);

                // !!! for now
                //info.RegionSettings.TerrainImageID = ass.FullID;

                ass.Data = imageData;

                mapTile = ass.ID;

                // finally
                mapTile = m_AssetService.Store(ass);

            }
            catch // LEGIT: Catching problems caused by OpenJPEG p/invoke
            {
                MainConsole.Instance.Info ("[GATEKEEPER SERVICE CONNECTOR]: Failed getting/storing map image, because it is probably already in the cache");
            }
            return mapTile;
        }

Usage Example

Пример #1
0
 public UUID GetMapImage(UUID regionID, string imageURL)
 {
     return(m_GatekeeperConnector.GetMapImage(regionID, imageURL, m_MapTileDirectory));
 }