1

我想绘制一个本地TBitmap并返回它。因为我在主线程之外,所以我必须在使用前锁定画布。(TBitmap 是如何线程安全的

我是否必须解锁画布,或者TBitmap析构函数会为我做这件事?在位图上绘制后在此功能中解锁画布是否安全,并在我想读取位图时再次锁定它,或者如果我这样做可以清除画布吗?

std::shared_ptr<TBitmap> f() {
    std::shared_ptr<TBitmap> bmp(new TBitmap);
    bmp->Canvas->Lock();
    // draw on bitmap
    return bmp;
}
4

1 回答 1

0

正如雷米所说:

位图析构函数不会为您解锁画布。如果显式锁定它,则必须显式解锁它。是的,一旦你解锁了画布,主 UI 线程就可以自由地清除位图资源。

于 2018-10-31T09:25:08.583 回答