-1

我编写了一个代码来为我的位图图像像素着色

int[,] unClusteredImage = new int[367,158];
Bitmap clusteredImage = new Bitmap(367, 158);
for (int row = 0; row < unClusteredImage.GetLength(0); row++)
                        for (int col = 0; col < unClusteredImage.GetLength(1); col++)
                            if (unClusteredImage[row, col] == 0)
                                clusteredImage.SetPixel(row, col, Color.Red);
                            else if (unClusteredImage[row, col] == 1)
                                clusteredImage.SetPixel(row, col, Color.Blue);
                            else if (unClusteredImage[row, col] == 2)
                                clusteredImage.SetPixel(row, col, Color.Green);
                            else if (unClusteredImage[row, col] == 3)
                                clusteredImage.SetPixel(row, col, Color.Yellow);
                            else if (unClusteredImage[row, col] == 4)
                                clusteredImage.SetPixel(row, col, Color.Black);
                            else if (unClusteredImage[row, col] == 5)
                                clusteredImage.SetPixel(row, col, Color.Orange);
                            else if (unClusteredImage[row, col] == 6)
                                clusteredImage.SetPixel(row, col, Color.Lime);
                            else if (unClusteredImage[row, col] == 7)
                                clusteredImage.SetPixel(row, col, Color.Purple);
clusteredImage.Save("test.jpeg");

问题是当我使用 bitmap.save 方法保存位图时,当我在绘画中打开它时会丢失一些像素,我注意到图像底部没有一些像素

4

1 回答 1

3

您将图像保存为 JPEG。

JPG 格式是一种有损压缩文件格式。这对于以比 BMP 更小的尺寸存储照片非常有用。

PNG 格式是一种无损压缩文件格式,这使其成为应用程序中使用的常见选择。

我建议您尝试将其保存为 PNG 格式,并检查结果。如果您不关心大小,您可以随时将其保存为位图。

clusteredImage.save("test.png", ImageFormat.Png);
于 2014-03-09T13:26:27.697 回答