//============================================================ // <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("导出完成!"); }
//============================================================ // <T>序列化内容到输出流。</T> // // @param output 输出流 //============================================================ public void SerializeFile(string fileName) { FByteFile file = new FByteFile(); Serialize(file); file.SaveFile(fileName); }
//============================================================ // <T>序列化信息文件。</T> // // @param fileName 路径 //============================================================ public void SerializeFile(string fileName) { using (FByteFile file = new FByteFile()) { Serialize(file); file.SaveFile(fileName); } }
//============================================================ // <T>压缩数据文件。</T> // // @param fileName 文件名称 //============================================================ public void Compress(string fileName) { // 写入文件 using (FByteFile file = new FByteFile()) { byte[] data = CompressBytes(); file.Append(data); file.SaveFile(fileName); } }
//============================================================ // <T>压缩数据保存为指定文件。</T> // // @param fileName 文件名称 //============================================================ public void Compress(string fileName) { // 建立目录 RDirectory.MakeDirectoriesForFile(fileName); // 输出文件 byte[] data = InnerCompress(_memory, 0, _length); using (FByteFile file = new FByteFile()) { file.Assign(data, 0, data.Length); file.SaveFile(fileName); } }
//============================================================ // <T>分块压缩保存为字节数组指定文件。</T> // // @param fileName 文件名称 // @param blockSize 分块大小 //============================================================ public void BlockCompress(string fileName, int blockSize) { // 检查参数 if (null == fileName) { throw new FFatalException("File name is null."); } // 存储文件 using (FByteFile file = new FByteFile()) { BlockCompress(file, blockSize); file.SaveFile(fileName); } }
//============================================================ // <T>根据指定模式导出数据。</T> // // @param modeCd 导出模式 //============================================================ public override void Export(ERsExportMode modeCd) { // 打开资源 Open(); //............................................................ string exportDirectory = RContent2dManager.ResourceConsole.ExportDirectory + "\\sd"; //............................................................ FByteFile file = new FByteFile(); file.LoadFile(_fileName); file.SaveFile(exportDirectory + "\\" + Code + ".mp3"); //............................................................ _logger.Debug(this, "Export", "Export sound resource. (type_name={0}, code={1})", _typeName, _code); }
//============================================================ // <T>序列化。</T> //============================================================ public void Serialize() { string saveFile = RMoCommon.ParseEnvironment("${resource.root}") + "\\db\\map.db"; FByteFile file = new FByteFile(); file.WriteInt16((short)_maps.Count); foreach (FMbMap map in _maps) { map.Serialize(file); } file.SaveFile(saveFile); }
//============================================================ // <T>序列化为文件。</T> // // @param fileName 文件名 //============================================================ public void SerializeFile(string fileName) { FByteFile file = new FByteFile(); // 追加节点 foreach (FXmlElement element in _element.Elements) { if (element is FXmlNode) { element.Serialize(file); } } // 保存文件 file.SaveFile(fileName); }
//============================================================ // <T>根据指定模式导出数据。</T> // // @param modeCd 导出模式 //============================================================ public override void Export(ERsExportMode modeCd) { // 打开资源 Open(); //............................................................ string exportFileName = RContent3dManager.ThemeConsole.ExportDirectory + "\\" + Code + ".ser"; //............................................................ // 序列化数据 FByteFile file = new FByteFile(); Serialize(file); file.SaveFile(exportFileName); //............................................................ // 释放资源 Dispose(); _logger.Debug(this, "Export", "Export theme success. (file_name={0})", exportFileName); }
//============================================================ // <T>加载文件夹信息</T> // // @param config 文件路径。 //============================================================ public void ExportAll() { // 加载文件 FByteFile file = new FByteFile(); file.WriteInt32(_frames.Count); foreach (INamePair <FRcFrame> pair in _frames) { FRcFrame frame = pair.Value; // 打开顶层容器 frame.Open(); // 序列化顶层容器 frame.Serialize(file); } // 保存文件 file.SaveFile(_exportFileName); }
//============================================================ // <T>序列化数据。</T> //============================================================ public override void Export(ERsExportMode modeCd) { // 打开资源 Open(); //............................................................ string exportFileName = RContent3dManager.SenceConsole.ExportDirectory + "\\" + Code + ".ser"; //............................................................ // 序列化数据 FByteFile file = new FByteFile(); Serialize(file); file.SaveFile(exportFileName); //............................................................ // 释放资源 Dispose(); _logger.Debug(this, "Export", "Export model success. (file_name={0})", exportFileName); //// 打开资源 //Open(); ////............................................................ //string exportDeflateDirectory = RContent3dManager.ContentConsole.ExportDeflateDirectory + "\\p3.sc"; //string exportLzmaDirectory = RContent3dManager.ContentConsole.ExportLzmaDirectory + "\\p3.sc"; //string code = Code; //if (_techniqueName != "config") { // code = Code + "." + _techniqueName; //} ////............................................................ //// 序列化数据 //FByteStream stream = new FByteStream(); //Serialize(stream); ////............................................................ //// 保存Deflate数据 //using (FRsCompressFile file = new FRsCompressFile(ERsCompress.Deflate, stream, RResourceManager.CompressBlockSplit)) { // byte[] data = file.CompressBytes(); // RFile.WriteAllBytes(exportDeflateDirectory + "/sc_" + code + ".swf", data); //} ////............................................................ //// 保存LZMA数据 //using (FRsCompressFile file = new FRsCompressFile(ERsCompress.Lzma, stream, RResourceManager.CompressBlockSplit)) { // byte[] data = file.CompressBytes(); // RFile.WriteAllBytes(exportLzmaDirectory + "/sc_" + code + ".swf", data); //} ////............................................................ //// 释放资源 //Dispose(); }
//============================================================ // <T>根据指定模式导出数据。</T> // // @param modeCd 导出模式 //============================================================ public override void Export(ERsExportMode modeCd) { // 打开资源 Open(); //............................................................ FRsResourceConsole resourceConsole = RContent2dManager.ResourceConsole; string exportDirectory = resourceConsole.ExportDirectory; string fileName = exportDirectory + "\\" + _code + ".ser"; //............................................................ // 序列化数据 FByteFile file = new FByteFile(); Serialize(file); file.SaveFile(fileName); //............................................................ // 释放资源 Dispose(); _logger.Debug(this, "Export", "Export picture resource. (type_name={0}, code={1})", _typeName, _code); }
//============================================================ // <T>存储所有信息到文件中。</T> //============================================================ public void StoreFiles() { // 保存属性 FByteFile file = new FByteFile(); // 写入个数 int count = _infos.Count; file.WriteInt32(count); // 保存所有程序信息 for (int n = 0; n < count; n++) { FApplicationInfo info = _infos.Get(n); file.WriteString(info.Name); // 保存程序信息 string fileName = RFile.MakeFileName(_storagePath, info.Name + ".ser"); info.SaveFile(fileName); } // 保存文件 string configName = RFile.MakeFileName(_storagePath, "applications.ser"); file.SaveFile(configName); }