方法 |
描述 |
public: |
|
TPicture |
__fastcall TPicture(void);
构造函数 |
~TPicture |
__fastcall virtual ~TPicture(void);
析构函数 |
LoadFromFile |
void __fastcall LoadFromFile(const System::UnicodeString Filename);
从文件加载图片。 |
SaveToFile |
void __fastcall SaveToFile(const System::UnicodeString Filename);
保存图片到文件。 |
LoadFromClipboardFormat |
void __fastcall LoadFromClipboardFormat(System::Word AFormat, NativeUInt AData, HPALETTE APalette);
从剪贴板加载图像数据,AFormat 为剪贴板数据格式,例如 CF_BITMAP,AData 为图像数据,APalette 为调色板句柄。【请参考 TBitmap 的例子:从剪贴板加载位图】 |
SaveToClipboardFormat |
void __fastcall SaveToClipboardFormat(System::Word &AFormat, NativeUInt &AData, HPALETTE &APalette);
把当前的图像数据转为剪贴板格式的数据,可以把这些数据放入剪贴板。
【请参考 TBitmap 的例子:把位图放在剪贴板里面】 |
SupportsClipboardFormat |
__classmethod bool __fastcall SupportsClipboardFormat(System::Word AFormat);
返回 AFormat 剪贴板格式是否支持用 LoadFromClipboardFormat 加载图片。 |
Assign |
virtual void __fastcall Assign(System::Classes::TPersistent* Source);
把 Source 里面的图像数据赋值 (格式转换) 到当前图像数据。 |
RegisterFileFormat |
__classmethod void __fastcall RegisterFileFormat(const System::UnicodeString AExtension, const System::UnicodeString ADescription, TGraphicClass AGraphicClass);
把一个新的从 TGraphic 继承的类和文件后缀的关联添加到 TPicture,这样 LoadFromFile 发现文件名是这个后缀的,就用这个类来解析和加载文件。 |
RegisterClipboardFormat |
__classmethod void __fastcall RegisterClipboardFormat(System::Word AFormat, TGraphicClass AGraphicClass);
把一个新的从 TGraphic 继承的类和剪贴板格式对应的关联添加到 TPicture,这样 LoadFromClipboardFormat 发现剪贴板里面是这个格式的,就用这个类来解析和加载剪贴板数据。 |
UnregisterGraphicClass |
__classmethod void __fastcall UnregisterGraphicClass(TGraphicClass AClass);
把一个从 TGraphic 继承的类和文件名后缀、剪贴板格式等的关联解除关系,从 TPicture 里面去掉。 |
RegisterFileFormatRes |
__classmethod void __fastcall RegisterFileFormatRes(const System::UnicodeString AExtension, int ADescriptionResID, TGraphicClass AGraphicClass);
把一个新的从 TGraphic 继承的类和文件后缀的关联添加到 TPicture,这样 LoadFromFile 发现文件名是这个后缀的,就用这个类来解析和加载文件。和 RegisterFileFormat 的不同点:这个函数的参数是从资源里面获取的,而不是直接给出字符串值。 |
protected: |
|
AssignTo |
virtual void __fastcall AssignTo(System::Classes::TPersistent* Dest);
把当前图像内容赋值 (格式转换) 到 Dest 的图像数据。 |
Changed |
DYNAMIC void __fastcall Changed(System::TObject* Sender);
当图像数据被修改的时候,会自动调用 Changed 方法。
Changed 方法会把 Modified 属性置为 true,并且触发 OnChange 事件。 |
DefineProperties |
virtual void __fastcall DefineProperties(System::Classes::TFiler* Filer);
提供把非 __published: 属性和数据存入流中,是从 TPersistent 继承过来并且重载了的方法。
如果子类需要这个功能,需要重载这个函数,在重载的 DefineProperties 需要调用父类的 DefineProperties,Filter 的 DefineProperty 和 DefineBinaryProperty。 |
Progress |
DYNAMIC void __fastcall Progress(System::TObject* Sender, TProgressStage Stage, System::Byte PercentDone, bool RedrawNow, const System::Types::TRect &R, const System::UnicodeString Msg);
当图像改变时 (加载、存储、转换的过程中),会调用这个方法来触发 OnProgress 事件。 |
LoadFromStream |
void __fastcall LoadFromStream(System::Classes::TStream* Stream);
从流加载图像。 |
SaveToStream |
void __fastcall SaveToStream(System::Classes::TStream* Stream);
把当前图像保存到流。 |