【问题标题】:How to copy a rectangle inside a canvas to a bitmap?如何将画布内的矩形复制到位图?
【发布时间】:2012-12-02 18:04:09
【问题描述】:

如何将 FireMonkey TCanvas 内部的矩形复制到 TBitmap(或其他 TCanvas)?

CopyRect 在 FMX 中不可用。

【问题讨论】:

    标签: delphi firemonkey


    【解决方案1】:

    一种可能的解决方案是:

    var
    NewBitmap:TBitmap;
    
    NewBitmap:=Rectangle1.MakeScreenshot;
    

    【讨论】:

    • 如果给我一个 TControl,比如 TRectangle,那会很容易。但遗憾的是,程序只交给了一个 TCanvas。
    • @Domus,tControl.MakeScreenshot() 使用 tControl.PaintTo() - 所以看看 .paintTo() 方法如何处理从 tCanvas 到 tCanvas 的绘画
    • @iPath 当然不简单。首先看看那个过程并没有真正给出太多提示,所以这有点花费时间。
    • @iPath:我只测试了 XE2(更新 4),但如果我直接在 TRectangle 上绘制一些东西,只要 Rectangle 可见,它就可见。 . 如果我最小化我的应用程序或用另一个应用程序覆盖它......我的画布修改丢失了......顺便说一句,如果我调用 MakeScreenshot,我有我设计的 Rectangle 控件,没有我的画布更新......所以我认为,您需要保存所有更新并在每次重绘后重播它们......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多