Browse Source

Repeat count now reflects Property info

Former-commit-id: 16d8dd7d7726797a13862e5c034aae97548800e0
Former-commit-id: df57de033d3d5586e4bd229a1da5c0cd8843b11f
pull/17/head
James South 11 years ago
parent
commit
7a17836eab
  1. 24
      src/ImageProcessor/Imaging/Formats/GifEncoder.cs

24
src/ImageProcessor/Imaging/Formats/GifEncoder.cs

@ -277,8 +277,6 @@ namespace ImageProcessor.Imaging.Formats
/// </param>
private void WriteHeaderBlock(Stream sourceGif, int w, int h)
{
int count = this.repeatCount.GetValueOrDefault(0);
// File Header signature and version.
this.WriteString(FileType);
this.WriteString(FileVersion);
@ -296,13 +294,21 @@ namespace ImageProcessor.Imaging.Formats
this.WriteColorTable(sourceGif);
// Application Extension Header
this.WriteShort(ApplicationExtensionBlockIdentifier);
this.WriteByte(ApplicationBlockSize);
this.WriteString(ApplicationIdentification);
this.WriteByte(3); // Application block length
this.WriteByte(1);
this.WriteShort(count); // Repeat count for images.
this.WriteByte(0); // Terminator
int count = this.repeatCount.GetValueOrDefault(0);
if (count != 1)
{
// 0 means loop indefinitely. count is set as play n + 1 times.
count = Math.Max(0, count - 1);
this.WriteShort(ApplicationExtensionBlockIdentifier);
this.WriteByte(ApplicationBlockSize);
this.WriteString(ApplicationIdentification);
this.WriteByte(3); // Application block length
this.WriteByte(1);
this.WriteShort(count); // Repeat count for images.
this.WriteByte(0); // Terminator
}
}
/// <summary>

Loading…
Cancel
Save