Browse Source

Fix quantizer

Former-commit-id: 34ae097ff85b6d0a707b6509f2fad3883840c66e
Former-commit-id: 96600ea9faa442c35850c918ba39fcc32a59bcf6
Former-commit-id: e60095ab103c4ff8ff70699c78f8df9d48b70982
pull/17/head
Yufei Huang 11 years ago
parent
commit
1ee20f1687
  1. 12
      src/ImageProcessor/Formats/Gif/Quantizer/QuantizedImage.cs
  2. 4
      src/ImageProcessor/Formats/Gif/Quantizer/Quantizer.cs

12
src/ImageProcessor/Formats/Gif/Quantizer/QuantizedImage.cs

@ -60,18 +60,18 @@ namespace ImageProcessor.Formats
/// <returns></returns>
public Image ToImage()
{
// TODO: Something is going wrong here. We have a palette.
Image image = new Image();
int pixelCount = Pixels.Length;
byte[] bgraPixels = new byte[pixelCount * 4];
for (int i = 0; i < pixelCount; i += 4)
for (int i = 0; i < pixelCount; i++)
{
int j = i * 4;
Bgra color = Palette[Pixels[i]];
bgraPixels[i + 0] = color.B;
bgraPixels[i + 1] = color.G;
bgraPixels[i + 2] = color.R;
bgraPixels[i + 3] = color.A;
bgraPixels[j + 0] = color.B;
bgraPixels[j + 1] = color.G;
bgraPixels[j + 2] = color.R;
bgraPixels[j + 3] = color.A;
}
image.SetPixels(Width, Height, bgraPixels);

4
src/ImageProcessor/Formats/Gif/Quantizer/Quantizer.cs

@ -61,9 +61,11 @@ namespace ImageProcessor.Formats
byte[] quantizedPixels = new byte[width * height];
List<Bgra> palette = GetPalette();
this.SecondPass(imageBase, quantizedPixels, width, height);
return new QuantizedImage(width, height, this.GetPalette().ToArray(), quantizedPixels);
return new QuantizedImage(width, height, palette.ToArray(), quantizedPixels);
}
/// <summary>

Loading…
Cancel
Save