当前位置: 首页>>代码示例>>C#>>正文


C# BinaryWriter.WriteFixedLengthString方法代码示例

本文整理汇总了C#中System.IO.BinaryWriter.WriteFixedLengthString方法的典型用法代码示例。如果您正苦于以下问题:C# BinaryWriter.WriteFixedLengthString方法的具体用法?C# BinaryWriter.WriteFixedLengthString怎么用?C# BinaryWriter.WriteFixedLengthString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.IO.BinaryWriter的用法示例。


在下文中一共展示了BinaryWriter.WriteFixedLengthString方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SaveToStream

 protected override void SaveToStream(Stream stream, DataStructures.MapObjects.Map map)
 {
     var bw = new BinaryWriter(stream, Encoding.UTF8);
     bw.Write(2.2f); // RMF version number
     bw.WriteFixedLengthString(Encoding.UTF8, 3, "RMF");
     WriteVisgroups(bw, map.Visgroups);
     WriteMapObject(bw, map.WorldSpawn);
     bw.WriteFixedLengthString(Encoding.UTF8, 8, "DOCINFO");
     bw.Write(0.2f); // Unused
     bw.Write(map.Cameras.IndexOf(map.ActiveCamera));
     WriteCameras(bw, map.Cameras);
 }
开发者ID:074769,项目名称:sledge,代码行数:12,代码来源:RmfProvider.cs

示例2: WriteVisgroups

 private static void WriteVisgroups(BinaryWriter bw, IEnumerable<Visgroup> visgroups)
 {
     var vis = visgroups.Where(x => !x.IsAutomatic).ToList();
     bw.Write(vis.Count);
     foreach (var visgroup in vis)
     {
         bw.WriteFixedLengthString(Encoding.UTF8, 128, visgroup.Name);
         bw.WriteRGBAColour(visgroup.Colour);
         bw.Write(visgroup.ID);
         bw.Write(visgroup.Visible);
         bw.Write(new byte[3]); // Unused
     }
 }
开发者ID:074769,项目名称:sledge,代码行数:13,代码来源:RmfProvider.cs

示例3: WritePathNode

 private static void WritePathNode(BinaryWriter bw, PathNode node)
 {
     bw.WriteCoordinate(node.Position);
     bw.Write(node.ID);
     bw.WriteFixedLengthString(Encoding.UTF8, 128, node.Name);
     bw.Write(node.Properties.Count);
     foreach (var property in node.Properties)
     {
         WriteProperty(bw, property);
     }
 }
开发者ID:074769,项目名称:sledge,代码行数:11,代码来源:RmfProvider.cs

示例4: WritePath

 private static void WritePath(BinaryWriter bw, Path path)
 {
     bw.WriteFixedLengthString(Encoding.UTF8, 128, path.Name);
     bw.WriteFixedLengthString(Encoding.UTF8, 128, path.Type);
     bw.Write((int) path.Direction);
     bw.Write(path.Nodes.Count);
     foreach (var node in path.Nodes)
     {
         WritePathNode(bw, node);
     }
 }
开发者ID:074769,项目名称:sledge,代码行数:11,代码来源:RmfProvider.cs

示例5: WriteFace

 private static void WriteFace(BinaryWriter bw, Face face)
 {
     bw.WriteFixedLengthString(Encoding.UTF8, 256, face.Texture.Name);
     bw.Write(new byte[4]);
     bw.WriteCoordinate(face.Texture.UAxis);
     bw.WriteDecimalAsSingle(face.Texture.XShift);
     bw.WriteCoordinate(face.Texture.VAxis);
     bw.WriteDecimalAsSingle(face.Texture.YShift);
     bw.WriteDecimalAsSingle(face.Texture.Rotation);
     bw.WriteDecimalAsSingle(face.Texture.XScale);
     bw.WriteDecimalAsSingle(face.Texture.YScale);
     bw.Write(new byte[16]);
     bw.Write(face.Vertices.Count);
     foreach (var vertex in face.Vertices)
     {
         bw.WriteCoordinate(vertex.Location);
     }
     bw.WritePlane(face.Vertices.Select(v => v.Location).ToArray());
 }
开发者ID:074769,项目名称:sledge,代码行数:19,代码来源:RmfProvider.cs

示例6: PrepareData

        private void PrepareData(BinaryReader br)
        {
            var startIndex = br.BaseStream.Position;
            const uint headerSize = 14;
            const uint infoSize = 40;
            _length = headerSize + infoSize + _entry.PaletteSize * 4 + _entry.Width * _entry.Height;
            _data = new byte[_length];
            using (var bw = new BinaryWriter(new MemoryStream(_data, true)))
            {
                // BITMAPFILEHEADER
                bw.WriteFixedLengthString(Encoding.ASCII, 2, "BM"); // Type
                bw.Write(_length); // Size
                bw.Write((short)0); // Reserved 1
                bw.Write((short)0); // Reserved 2
                bw.Write((int) (headerSize + infoSize + _entry.PaletteSize * 4)); // Offset to pixel array

                // BITMAPINFOHEADER
                bw.Write(infoSize); // Header size
                bw.Write(_entry.Width);
                bw.Write(_entry.Height);
                bw.Write((short) 1); // Number of colour planes
                bw.Write((short) 8); // Colour depth
                bw.Write(0); // Compression method
                bw.Write(_entry.Width * _entry.Height); // Image data size
                bw.Write(0); // Horizontal resolution
                bw.Write(0); // Vertical resolution
                bw.Write(_entry.PaletteSize); // Colours used
                bw.Write(_entry.PaletteSize); // "Important" colours used

                br.BaseStream.Position = startIndex + (_entry.PaletteDataOffset - _entry.Offset);
                var paletteData = br.ReadBytes((int)(_entry.PaletteSize * 3));
                for (var i = 0; i < _entry.PaletteSize; i++)
                {
                    // Wad palettes are RGB, bitmap is BGRX
                    bw.Write(paletteData[i * 3 + 2]);
                    bw.Write(paletteData[i * 3 + 1]);
                    bw.Write(paletteData[i * 3 + 0]);
                    bw.Write((byte)0);
                }

                br.BaseStream.Position = startIndex + (_entry.TextureDataOffset - _entry.Offset);
                var imageData = br.ReadBytes((int)(_entry.Width * _entry.Height));
                for (var y = (int)_entry.Height - 1; y >= 0; y--)
                {
                    // The Y axis is reversed
                    bw.Write(imageData, (int)_entry.Width * y, (int) _entry.Width);
                }
            }
        }
开发者ID:silky,项目名称:sledge,代码行数:49,代码来源:WadImageStream.cs


注:本文中的System.IO.BinaryWriter.WriteFixedLengthString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。