读书人

TColor警告提示有关问题请帮忙

发布时间: 2012-03-26 15:46:56 作者: rapoo

TColor警告提示问题,请帮忙!
下面是代码:

C/C++ code
void __fastcall TForm1::BitBtn2Click(TObject *Sender)  //最大值法灰度化{float red, green, blue, max;TColor color;width = Image1 -> Picture -> Width;height = Image1 -> Picture -> Height;bitmap = new Graphics::TBitmap();bitmap -> Width = width;bitmap -> Height = height;for(i = 0; i < width-1; i++)  for(j = 0; j < height-1; j++)    {    color = Image1 -> Canvas -> Pixels[i][j];    red = rgb[i][j].r_color = GetRValue(color);    green = rgb[i][j].g_color = GetGValue(color);    blue = rgb[i][j].b_color = GetBValue(color);    max = red > green ? red : green > blue ? green : blue;    bitmap -> Canvas -> Pixels[i][j] =RGB(max, max, max);    }  Image2 -> Picture -> Bitmap -> Assign(bitmap);}


run后会有如下提示,但是能够实现灰度化。这个warning如何debug掉?谢谢

[C++ Warning] Unit1.cpp(257): W8018 Assigning unsigned long to TColor
[C++ Warning] Unit1.cpp(286): W8018 Assigning unsigned long to TColor


[解决办法]
unsigned long给TColor赋值前加个强制类型转换 (TColor).
[解决办法]
是的,强制转换成TColor类型再赋值就行了。

读书人网 >C++ Builder

热点推荐