【发布时间】:2015-08-17 15:54:36
【问题描述】:
我正在使用 Borland C++Builder 6。
我想使用TImage 组件并用特定颜色(假设为黑色)填充其内容 - 我该怎么做?
【问题讨论】:
标签: user-interface colors c++builder c++builder-6 timage
我正在使用 Borland C++Builder 6。
我想使用TImage 组件并用特定颜色(假设为黑色)填充其内容 - 我该怎么做?
【问题讨论】:
标签: user-interface colors c++builder c++builder-6 timage
更具体一点,你的文字有点模糊
抱歉,我没有使用 TImage 组件,但您的 TImage 很可能有 Canvas,因此您可以使用 GDI 尝试类似:
img->Canvas->Brush->Color=clBlack;
img->Canvas->Brush->Style=bsSolid;
img->Canvas->FillRect(TRect(0,0,img->Width,img->Height));
img 是您的 TImage 组件名称Update 可能存在类似于TPanintbox 的问题
img->Update(); 或 img->Refresh/Repaint... 或将渲染移动到不同的事件,例如 img->OnPaint ...TImage 有它们,您也可以使用ClientWidth,ClientHeight(并非所有组件都有)【讨论】:
TImage::Canvas 属性仅在TImage 持有TBitmap 图形时有效。这就是您实际绘制的内容,因为TImage::Canvas 只是返回TImage::Picture::Bitmap::Canvas 指针。如果您只想以单一颜色显示正方形/矩形,您可以将 1x1 像素 TBitmap 分配给 TImage,确保 TImage::Stretch 属性设置为 true。否则,请改用TPaintBox,而仅在TPaintBox::OnPaint 事件中使用FillRect() TPaintBox::Canvas。