gpt4 book ai didi

delphi - FMX : Flatten Multiple Images

转载 作者:行者123 更新时间:2023-12-02 03:27:00 27 4
gpt4 key购买 nike

我目前正在开发一个使用 Firemonkey 框架的项目。在这个项目中,有一个 TImageControl 作为父项,它的子项将是几个 TImage 对象,可能还有一些 TEdit 对象。

我想要做的是,当用户单击按钮时,它会将 TImage 子对象的内容合并到 TImageControl 父对象的内容中,以形成一个场景,然后将其保存到文件中(并且因此,在最终图像中保持 children 的相对位置非常重要)。通过 TEdit 子控件的文本属性,我希望它将每个 TEdit 中的文本写入到最终图像的父级中的相对位置。

我想要实现的一个示例类似于 Adob​​e Photoshop 中使用的“拼合图像”功能,它将获取所有图层,并将它们拼合为单个图层。这正是我希望实现的目标。对于文本,它只是将其展平,就好像它是普通图像层一样,并且您失去了编辑文本的能力(因为它现在都是单个图像层)。

到目前为止,我所能找到的只是使用 JPEG 单元的 VCL 示例。现在,虽然肯定可以调整此类代码以与此 Firemonkey 应用程序一起使用(例如“MonkeyMixer”方法),但我很想知道是否有一种更干净的方法来实现这一点,该方法对 Firemonkey 来说更原生。也许类似于children as TImage

如果更适合的话,我愿意将 TImageControl 父级更改为不同的组件类型,但我确实需要能够在最后保存最终图像。

最佳答案

此线程https://forums.embarcadero.com/thread.jspa?threadID=69764&tstart=30建议:

var BMP: TBitmap;
BMP := FireMonkeyObject.MakeScreenShot;
BMP.SaveToFile('MyScreenShot.png');
BMP.Free;

还有其他可能的解决方案。 (我个人没有经验)。

关于delphi - FMX : Flatten Multiple Images,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9947224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com