/////////////////////////////////////////////////////////////////////////// public void Save(PsdBinaryWriter writer) { Util.DebugMessage(writer.BaseStream, "Save, Begin, MaskInfo"); if (LayerMask == null) { writer.Write((UInt32)0); return; } using (new PsdBlockLengthWriter(writer)) { writer.Write(LayerMask.Rect); writer.Write(LayerMask.BackgroundColor); writer.Write((byte)LayerMask.Flags.Data); if (UserMask == null) { // Pad by 2 bytes to make the block length 20 writer.Write((UInt16)0); } else { writer.Write((byte)UserMask.Flags.Data); writer.Write(UserMask.BackgroundColor); writer.Write(UserMask.Rect); } } Util.DebugMessage(writer.BaseStream, "Save, End, MaskInfo"); }
internal void Save(PsdBinaryWriter writer) { Util.DebugMessage(writer.BaseStream, "Save, Begin, Channel"); writer.Write(ID); if (Layer.PsdFile.IsLargeDocument) { writer.Write(Length); } else { writer.Write((Int32)Length); } Util.DebugMessage(writer.BaseStream, $"Save, End, Channel, {ID}"); }
internal void SavePixelData(PsdBinaryWriter writer) { Util.DebugMessage(writer.BaseStream, "Save, Begin, Channel image"); writer.Write((short)ImageCompression); if (ImageDataRaw == null) { return; } if (ImageCompression == PSDFile.ImageCompression.Rle) { RleRowLengths.Write(writer, Layer.PsdFile.IsLargeDocument); } writer.Write(ImageDataRaw); Util.DebugMessage(writer.BaseStream, $"Save, End, Channel image, {ID}"); }
protected override void WriteData(PsdBinaryWriter writer) { writer.Write(Data); }