如何使用 RTTI 将 TImage 组件与图像一起复制

问题描述

我知道如何使用 RTTI 复制和复制 CustomMultiPartParser 组件和其他组件。

但是,我不知道之前加载的原始 timage 中的图像是否可以与副本一起复制。

是否可以复制 timage 中的图像,而无需在创建后将图像重新加载到新组件中?

这是我在要复制的组件中查找 PropType 类型的代码

timage

这是一个PTypeInfo TypeInfo = static_cast<PTypeInfo>(Original->ClassInfo()); int PropCount = GetTypeData(TypeInfo)->PropCount; for(int i = 0; i < PropCount; i++) { switch ((*Prop->PropType)->Kind) { case tkInteger : ... case tkChar : case tkEnumeration : case tkSet : case tkWChar: case tkWString : case tkLString : case tkString: case tkFloat: break; default: break; } } 从原始组件复制到新创建的组件的示例:

Height

如何复制图像?如何将原int OrdHeight = GetordProp(Original,"Height"); PropInfo = GetPropInfo((PTypeInfo)New->ClassInfo(),"Height"); SetordProp(New,PropInfo,OrdHeight); 图片数据获取到新的timage,他的timage是什么来帮助获取和复制的?

有可能吗?

解决方法

复制图片数据最简单的方法是将原Assign()对象TImage::Picture复制到新的TImage::Picture对象:

NewImage->Picture->Assign(OrigImage->Picture);

您可以使用 RTTI 获取 2 个 TPicture* 对象指针。