Example #1
0
        protected override object GetTileLayers(int tileLevel, int tilePositionX, int tilePositionY)
        {
            if (tileLevel > 8)
            {
                DateTime start  = DateTime.Now;
                byte[]   imgDat = TransDatManager.GetSingleTileImageFromDat(this.datFullPath, tileLevel - 8, tilePositionX, tilePositionY);
                if (imgDat != null)
                {
                    Bitmap   b   = TransHelper.SetByteToImage(imgDat);
                    Bitmap   bmp = new Bitmap(b.Width, b.Height);
                    Graphics g   = Graphics.FromImage(bmp);
                    g.DrawImage(b, 0, 0, b.Width, b.Height);
                    using (MemoryStream ms = new MemoryStream())
                    {
                        bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                        DateTime end = DateTime.Now;
                        Console.WriteLine($"tileLevel={tileLevel}, tilePositionX={tilePositionX}, tilePositionY={tilePositionY}, time={(end - start).TotalMilliseconds}");
                        return(new MemoryStream(ms.ToArray()));
                    }
                }
            }

            return(null);
        }