【发布时间】:2014-03-09 12:45:48
【问题描述】:
我编写了一个代码来为我的位图图像像素着色
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 方法保存位图时,当我在绘画中打开它时会丢失一些像素,我注意到图像底部没有一些像素
【问题讨论】:
-
丢失了哪些像素?您是否尝试过联系当地的 Pixel 当局并成立了搜索小组?
-
您不会失去任何东西。整个图像始终为红色,因为
unClusteredImage[row, col] == 0始终为零。您的行和列也颠倒了(至少按名称)。 -
no 整个图像不是红色的。但是当我使用绘画打开图像时,我注意到最后几行缺少黑色。
-
在保存图像之前,您应该先绘制它以查看您的代码是否正常。如果绘图产生所需的图像,那么保存就是问题
标签: c# bitmap jpeg pixels loss