Exemple #1
0
 public void Write(BinaryPSDWriter writer)
 {
     writer.Write("8BIM");
     writer.Write(this.Tag);
     writer.StartLengthBlock(typeof(uint));
     this.SubWrite(writer);
     writer.EndLengthBlock();
     if (!(this is EffectBase))
     {
         writer.PadToNextMultiple(2);
     }
 }
Exemple #2
0
        //public string GetIdAsFOURCC()
        //{
        //    return "" + (char)((this.ID >> 24) & 0xff) + (char)((this.ID >> 16) & 0xff) + (char)((this.ID >> 8) & 0xff) + (char)(this.ID & 0xff);
        //}

        public void Write(BinaryPSDWriter writer)
        {
            writer.Write("8BIM");
            writer.Write(this.ID);
            writer.WritePascalString(this.Name);
            writer.StartLengthBlock(typeof(uint));
            this.SubWrite(writer);
            writer.EndLengthBlock();
            writer.PadToNextMultiple(2);
            //if (writer.GetCurrentBlockLength() % 2 == 1)
            //    writer.Write((byte)0);
        }
Exemple #3
0
        public void Save(string filename)
        {
            if (File.Exists(filename))
                File.Delete(filename);

            FileStream stream = new FileStream(filename,
                FileMode.OpenOrCreate, FileAccess.Write);

            BinaryPSDWriter writer = new BinaryPSDWriter(stream);

            writer.Write("8BPS");
            this._header.Write(writer);

            writer.Write((uint)0); //No palette
            //TODO: palette

            //if (this._imageResources == null)
            //    this._imageResources = new Dictionary<ImageResource.ResourceIDs, ImageResource>();
            writer.StartLengthBlock(typeof(uint));
            foreach (ImageResource imgRes in this._imageResources)
                imgRes.Write(writer);
            writer.EndLengthBlock();

            //   Layers
            writer.StartLengthBlock(typeof(uint), 4);

            // LayerInfo:
            writer.StartLengthBlock(typeof(uint));
            writer.Write((ushort)this.Layers.Count);
            foreach (Layer layer in this.Layers)
                layer.Write(writer);
            //Layer pixel data
            foreach (Layer layer in this.Layers)
                layer.WritePixels(writer);

            writer.EndLengthBlock();

            writer.EndLengthBlock();

            writer.PadToNextMultiple(4);

            //Global Mask
            writer.StartLengthBlock(typeof(uint));
            if (this._tempGlobalLayerMask != null)
                writer.Write(this._tempGlobalLayerMask);
            writer.EndLengthBlock();

            //Global image (merged)
            //TODO: !
            if (this._globalImage != null)
                this._globalImage.Save(writer);
        }
Exemple #4
0
        public void Save(string filename)
        {
            if (File.Exists(filename))
            {
                File.Delete(filename);
            }

            FileStream stream = new FileStream(filename,
                                               FileMode.OpenOrCreate, FileAccess.Write);

            BinaryPSDWriter writer = new BinaryPSDWriter(stream);

            writer.Write("8BPS");
            this._header.Write(writer);

            writer.Write((uint)0); //No palette
            //TODO: palette

            //if (this._imageResources == null)
            //    this._imageResources = new Dictionary<ImageResource.ResourceIDs, ImageResource>();
            writer.StartLengthBlock(typeof(uint));
            foreach (ImageResource imgRes in this._imageResources)
            {
                imgRes.Write(writer);
            }
            writer.EndLengthBlock();


            //   Layers
            writer.StartLengthBlock(typeof(uint), 4);

            // LayerInfo:
            writer.StartLengthBlock(typeof(uint));
            writer.Write((ushort)this.Layers.Count);
            foreach (Layer layer in this.Layers)
            {
                layer.Write(writer);
            }
            //Layer pixel data
            foreach (Layer layer in this.Layers)
            {
                layer.WritePixels(writer);
            }

            writer.EndLengthBlock();

            writer.EndLengthBlock();

            writer.PadToNextMultiple(4);

            //Global Mask
            writer.StartLengthBlock(typeof(uint));
            if (this._tempGlobalLayerMask != null)
            {
                writer.Write(this._tempGlobalLayerMask);
            }
            writer.EndLengthBlock();

            //Global image (merged)
            //TODO: !
            if (this._globalImage != null)
            {
                this._globalImage.Save(writer);
            }
        }
 public void Write(BinaryPSDWriter writer)
 {
     writer.Write("8BIM");
     writer.Write(this.Tag);
     writer.StartLengthBlock(typeof(uint));
     this.SubWrite(writer);
     writer.EndLengthBlock();
     if (!(this is EffectBase))
         writer.PadToNextMultiple(2);
 }
 //public string GetIdAsFOURCC()
 //{
 //    return "" + (char)((this.ID >> 24) & 0xff) + (char)((this.ID >> 16) & 0xff) + (char)((this.ID >> 8) & 0xff) + (char)(this.ID & 0xff);
 //}
 public void Write(BinaryPSDWriter writer)
 {
     writer.Write("8BIM");
     writer.Write(this.ID);
     writer.WritePascalString(this.Name);
     writer.StartLengthBlock(typeof(uint));
     this.SubWrite(writer);
     writer.EndLengthBlock();
     writer.PadToNextMultiple(2);
     //if (writer.GetCurrentBlockLength() % 2 == 1)
     //    writer.Write((byte)0);
 }