Beispiel #1
0
        //============================================================
        // <T>资源导出按钮事件处理。</T>
        //============================================================
        private void tsbResourceExport_Click(object sender, EventArgs e)
        {
            string directory = RMobileManager.MapTileConsole.DirectoryExport;

            //
            foreach (FMbMapTileCatalog tileCatalog in RMobileManager.MapTileConsole.MapTileCatalogs)
            {
                foreach (FMbMapTile tile in tileCatalog.MapTiles)
                {
                    int       id     = tile.Id;
                    string    code   = "0" + id;
                    Bitmap    bitmap = tile.Resource;
                    int       width  = bitmap.Width;
                    int       height = bitmap.Height;
                    FByteFile file   = new FByteFile();
                    file.WriteUint16((ushort)width);
                    file.WriteUint16((ushort)height);
                    for (int y = 0; y < height; y++)
                    {
                        for (int x = 0; x < width; x++)
                        {
                            Color color = bitmap.GetPixel(x, y);
                            file.WriteUint8(color.R);
                            file.WriteUint8(color.G);
                            file.WriteUint8(color.B);
                            file.WriteUint8(color.A);
                        }
                    }
                    file.SaveFile(directory + "/" + code + ".ser");
                }
            }
            MessageBox.Show("导出完成!");
        }