运行VS2005程序,错误提示:具有索引像素格式的图像不支持 SetPixel。
部分代码如下:
private void button1_Click(object sender, EventArgs e)
{
if (curBitmapSD != null&curBitmapSB!=null)
{
Color curColorSD;
Color curColorSB;
int ret;
for (int i = 0; i < curBitmapSD.Width; i++)
{
for (int j = 0; j < curBitmapSB.Height; j++)
{
curColorSD = curBitmapSD.GetPixel(i, j);
curColorSB = curBitmapSB.GetPixel(i, j);
ret = curColorSD.R - curColorSB.R;
curBitmapSD.SetPixel(i, j, Color.FromArgb(ret, ret, ret));
}
}
Invalidate();
}
}
图像curBitmapSD和图像curBitmapSD均为8位索引颜色图像。
求助高手解答:针对这样的图像,我应该如何做两个图像相减?
部分代码如下:
private void button1_Click(object sender, EventArgs e)
{
if (curBitmapSD != null&curBitmapSB!=null)
{
Color curColorSD;
Color curColorSB;
int ret;
for (int i = 0; i < curBitmapSD.Width; i++)
{
for (int j = 0; j < curBitmapSB.Height; j++)
{
curColorSD = curBitmapSD.GetPixel(i, j);
curColorSB = curBitmapSB.GetPixel(i, j);
ret = curColorSD.R - curColorSB.R;
curBitmapSD.SetPixel(i, j, Color.FromArgb(ret, ret, ret));
}
}
Invalidate();
}
}
图像curBitmapSD和图像curBitmapSD均为8位索引颜色图像。
求助高手解答:针对这样的图像,我应该如何做两个图像相减?
//新加
private Bitmap curBitmapNew = new Bitmap(20, 20); private void button1_Click(object sender, EventArgs e)
{
if (curBitmapSD != null & curBitmapSB != null)
{
Color curColorSD;
Color curColorSB;
int ret;
for (int i = 0; i < curBitmapSD.Width; i++)
{
for (int j = 0; j < curBitmapSB.Height; j++)
{
curColorSD = curBitmapSD.GetPixel(i, j);
curColorSB = curBitmapSB.GetPixel(i, j);
ret = curColorSD.R - curColorSB.R;
curBitmapNew.SetPixel(i, j, Color.FromArgb(ret, ret, ret));
}
}
//新加
curBitmapSD = curBitmapNew; Invalidate();
}
}
将
private Bitmap curBitmapNew = new Bitmap(20, 20);
改为
private Bitmap curBitmapNew = new Bitmap(curBitmapSD.Width, curBitmapSD.Height);
求助高手解答:针对这样的图像,我应该如何做两个图像相减?这个问题我也有点想知道,不知道别人都是怎样去实现的
调整为RGB
求助高手解答:针对这样的图像,我应该如何做两个图像相减?这个问题我也有点想知道,不知道别人都是怎样去实现的