【问题标题】:Fill in color of TImage content填充TImage内容的颜色
【发布时间】:2015-08-17 15:54:36
【问题描述】:

我正在使用 Borland C++Builder 6。

我想使用TImage 组件并用特定颜色(假设为黑色)填充其内容 - 我该怎么做?

【问题讨论】:

    标签: user-interface colors c++builder c++builder-6 timage


    【解决方案1】:

    更具体一点,你的文字有点模糊

    抱歉,我没有使用 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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多