Example #1
0
        public override void WriteValue(WzBinaryWriter writer)
        {
            writer.WriteStringValue("Canvas", 0x73, 0x1B);
            writer.Write((byte)0);
            if (WzProperties.Count > 0)
            {
                writer.Write((byte)1);
                WritePropertyList(writer, WzProperties);
            }
            else
            {
                writer.Write((byte)0);
            }

            writer.WriteCompressedInt(PngProperty.Width);
            writer.WriteCompressedInt(PngProperty.Height);
            writer.WriteCompressedInt(PngProperty.Format1);
            writer.Write((byte)PngProperty.Format2);
            writer.Write(0);
            var bytes = PngProperty.GetCompressedBytes(false);

            writer.Write(bytes.Length + 1);
            writer.Write((byte)0);
            writer.Write(bytes);
        }
Example #2
0
        public override void WriteValue(MapleLib.WzLib.Util.WzBinaryWriter writer)
        {
            writer.WriteStringValue("Canvas", 0x73, 0x1B);
            writer.Write((byte)0);
            if (properties.Count > 0) // subproperty in the canvas
            {
                writer.Write((byte)1);
                WzImageProperty.WritePropertyList(writer, properties);
            }
            else
            {
                writer.Write((byte)0);
            }

            // Image info
            writer.WriteCompressedInt(PngProperty.Width);
            writer.WriteCompressedInt(PngProperty.Height);
            writer.WriteCompressedInt(PngProperty.Format);
            writer.Write((byte)PngProperty.Format2);
            writer.Write((Int32)0);

            // Write image
            byte[] bytes = PngProperty.GetCompressedBytes(false);
            writer.Write(bytes.Length + 1);
            writer.Write((byte)0); // header? see WzImageProperty.ParseExtendedProp "0x00"
            writer.Write(bytes);
        }
Example #3
0
 /// <summary>
 /// Dispose the object
 /// </summary>
 public override void Dispose()
 {
     Name = null;
     PngProperty.Dispose();
     PngProperty = null;
     WzProperties?.ForEach(x => x.Dispose());
     WzProperties?.Clear();
     WzProperties = null;
 }
Example #4
0
        public override WzImageProperty DeepClone()
        {
            var clone = new WzCanvasProperty(Name);

            foreach (var prop in WzProperties)
            {
                clone.AddProperty(prop.DeepClone());
            }

            clone.PngProperty = (WzPngProperty)PngProperty.DeepClone();
            return(clone);
        }
Example #5
0
        /// <summary>
        /// Dispose the object
        /// </summary>
        public override void Dispose()
        {
            Name = null;
            PngProperty.Dispose();
            PngProperty = null;
            foreach (var prop in _properties)
            {
                prop.Dispose();
            }

            _properties.Clear();
            _properties = null;
        }
Example #6
0
 public override void WriteValue(MapleLib.WzLib.Util.WzBinaryWriter writer)
 {
     writer.WriteStringValue("Canvas", 0x73, 0x1B);
     writer.Write((byte)0);
     if (properties.Count > 0)
     {
         writer.Write((byte)1);
         WzImageProperty.WritePropertyList(writer, properties);
     }
     else
     {
         writer.Write((byte)0);
     }
     writer.WriteCompressedInt(PngProperty.Width);
     writer.WriteCompressedInt(PngProperty.Height);
     writer.WriteCompressedInt(PngProperty.format);
     writer.Write((byte)PngProperty.format2);
     writer.Write((Int32)0);
     byte[] bytes = PngProperty.GetCompressedBytes(false);
     writer.Write(bytes.Length + 1);
     writer.Write((byte)0);
     writer.Write(bytes);
 }
Example #7
0
 /// <summary>
 /// Gets a wz property by it's name
 /// </summary>
 /// <param name="pWriter">The name of the property</param>
 /// <returns>The wz property with the specified name</returns>
 public override void WriteValue(WzBinaryWriter pWriter)
 {
     pWriter.WriteStringValue("Canvas", 0x73, 0x1B);
     pWriter.Write((byte)0);
     if (mProperties.Count > 0)
     {
         pWriter.Write((byte)1);
         WritePropertyList(pWriter, mProperties);
     }
     else
     {
         pWriter.Write((byte)0);
     }
     pWriter.WriteCompressedInt(PngProperty.Width);
     pWriter.WriteCompressedInt(PngProperty.Height);
     pWriter.WriteCompressedInt(PngProperty.mFormat);
     pWriter.Write((byte)PngProperty.mFormat2);
     pWriter.Write(0);
     byte[] bytes = PngProperty.GetCompressedBytes();
     pWriter.Write(bytes.Length + 1);
     pWriter.Write((byte)0);
     pWriter.Write(bytes);
 }