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); }
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); }
/// <summary> /// Dispose the object /// </summary> public override void Dispose() { Name = null; PngProperty.Dispose(); PngProperty = null; WzProperties?.ForEach(x => x.Dispose()); WzProperties?.Clear(); WzProperties = null; }
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); }
/// <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; }
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); }
/// <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); }