怎么选择一个矩形区域,然后只改变这一部分的颜色(GDI+)
如何选择一个矩形区域,然后只改变这一部分的颜色(GDI+)

INT w =image->GetWidth();
INT h =image->GetHeight();
Color color,color2,colorT;
for(int i=0;i<w;i++)
{
for(int j=0;j<h;j++)
{
image->GetPixel(i,j,&color);
int r=255-color.GetRed();
int g=255-color.GetGreen();
int b=255-color.GetBlue();
colorT.SetValue(color2.MakeARGB(255,r,g,b));
image->SetPixel(i,j,colorT);
}
//在这里显示image
}
这票代码只能够改变整个图片,而不能够改变局部,和上面的图有很大差异。应该怎么修改代码
------解决方案--------------------
for(int i=0;i<w;i++)
{
for(int j=0;j<h;j++)
ij的其实位置改掉
改成你选择区域的起始位置
用buttondown 的point 起始
up未终止点
------解决方案--------------------
整张图形变色后的图形生成画刷 填充封闭路径

------解决方案--------------------
图像的处理 知道吧?
处理后的图像生成TextureBrush 用画刷填充 路径啊
不就可以了吗?
INT w =image->GetWidth();
INT h =image->GetHeight();
Color color,color2,colorT;
for(int i=0;i<w;i++)
{
for(int j=0;j<h;j++)
{
image->GetPixel(i,j,&color);
int r=255-color.GetRed();
int g=255-color.GetGreen();
int b=255-color.GetBlue();
colorT.SetValue(color2.MakeARGB(255,r,g,b));
image->SetPixel(i,j,colorT);
}
//在这里显示image
}
这票代码只能够改变整个图片,而不能够改变局部,和上面的图有很大差异。应该怎么修改代码
------解决方案--------------------
for(int i=0;i<w;i++)
{
for(int j=0;j<h;j++)
ij的其实位置改掉
改成你选择区域的起始位置
用buttondown 的point 起始
up未终止点
------解决方案--------------------
整张图形变色后的图形生成画刷 填充封闭路径
------解决方案--------------------
图像的处理 知道吧?
处理后的图像生成TextureBrush 用画刷填充 路径啊
不就可以了吗?