Browse Source

Fix quantizer

Former-commit-id: 5b79f56d1d4a7660e65fc63feb0ee9389396571d
Former-commit-id: 119f108657f15b49dc20d6f51bf9f11cb76390ef
Former-commit-id: a07d5756efa4206bf7f974be98014877c14c1159
pull/17/head
Yufei Huang 11 years ago
parent
commit
ae8ab3d99d
  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