我应该在锁定TBitmap画布后解锁它吗



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

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

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

雷米评论:

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

相关内容

  • 没有找到相关文章

最新更新