TPicture - C++ Builder
2020-05-23 本文已影响0人
玄坴
C++ Builder 参考手册 ➙ Vcl::Graphics ➙ TPicture
TPicture 可以包含一个从 TGraphic 继承过来的图片,例如 TBitmap、TGIFImage、TIcon、TJPEGImage、TPngImage 等
- 简介
- 成员
属性
方法
事件
一. TPicture 简介
- 继承关系:
System::TObject
⠀╙ System::Classes::TPersistent
⠀⠀⠀┗ System::Classes::TInterfacedPersistent
⠀⠀⠀⠀⠀└ Vcl::Graphics::TPicture - 头文件:
#include <Vcl.Graphics.hpp>
- 命名空间:
Vcl::Graphics
- TPicture 可以包含一个从 TGraphic 继承过来的图片,例如 TBitmap、TGIFImage、TIcon、TJPEGImage、TPngImage 等
- 如果 TPicture 包含一个 TBitmap,Bitmap 属性为这个位图;
- 如果 TPicture 包含一个 TIcon,Icon 属性为这个图标;
- 如果 TPicture 包含一个 TMetafile,Metafile 属性为这个图片;
- 如果 TPicture 包含一个从 TGraphic 继承过来的图片,例如 TBitmap、TGIFImage、TIcon、TJPEGImage、TPngImage、TMetafile 等,Graphic 属性就是这个图片,可以用 dynamic_cast 转为对应类型的对象指针。所以 Graphic 可以作为一个通用的属性,当需要显示的时候,只要把 Graphic 属性作为参数 Draw 或 StretchDraw 到画布上就可以了。
二. TPicture 成员
1. TPicture 属性
属性 | 类型 | 说明 |
---|---|---|
public: | ||
Bitmap | TBitmap * | TPicture 包含的 TBitmap 位图 |
Graphic | TGraphic * | TPicture 包含的从 TGraphic 继承过来的图片 |
Height | int | 图像的原始高度 (pixels) |
Icon | TIcon * | TPicture 包含的 TIcon 图标 |
Metafile | TMetafile * | TPicture 包含的 TMetafile 图片 |
PictureAdapter | _di_IChangeNotifier | 图片的 OLE 接口 |
Width | int | 图像的原始宽度 (pixels) |
2. TPicture 方法
方法 | 说明 |
---|---|
public: | |
Assign | 把 Source 里面的图像数据赋值 (或格式转换) 到当前图像数据, 重载了 TPersistent 的 Assign 方法 |
LoadFromClipboardFormat | 从剪贴板加载图像数据 |
LoadFromFile | 从文件加载图片 |
LoadFromStream | 从流加载图像 |
operator () | 类型转换操作符,转为 _di_IStreamPersist |
RegisterClipboardFormat | 添加从 TGraphic 继承的类和剪贴板格式对应的关联 |
RegisterFileFormat | 添加从 TGraphic 继承的类和文件名后缀的关联 |
RegisterFileFormatRes | 添加从 TGraphic 继承的类和从资源获取的文件的关联 |
SaveToClipboardFormat | 把当前的图像数据转为剪贴板格式的数据, 可以把这些数据放入剪贴板 |
SaveToFile | 保存图片到文件 |
SaveToStream | 把当前图像保存到流 |
SupportsClipboardFormat | 返回剪贴板格式是否支持 |
TPicture | 构造函数 |
~TPicture | 析构函数 |
UnregisterGraphicClass | 解除从 TGraphic 继承的类和文件名后缀、剪贴板格式等的关联 |
protected: | |
AssignTo | 把当前图像内容赋值 (或格式转换) 到 Dest 的图像数据, 重载了 TPersistent 的 Assign 方法 |
Changed | 当图像数据被修改的时候,会自动调用 Changed 方法 |
DefineProperties | 把非 __published: 属性和数据存入流中, 重载了 TPersistent 的 DefineProperties 方法 |
FindGraphicClass | 在加载或保存图像时调用这个方法,用于判断格式是否支持 |
Progress | 当图像改变时,会调用这个方法来触发 OnProgress 事件 |
TInterfacedPersistent:: | 从 System::Classes::TInterfacedPersistent 继承过来的 |
public: | 从 System::Classes::TInterfacedPersistent 继承过来的 |
AfterConstruction | 在构造函数结束的时候自动调用 |
operator _di_IInterface | 类型转换操作符,转为 _di_IInterface 类型 |
QueryInterface | 返回当前组件所支持的 COM 接口的引用 |
TInterfacedPersistent | 构造函数 |
~TInterfacedPersistent | 析构函数 |
protected: | |
_AddRef | 调用 COM 接口增加引用计数 |
_Release | 调用 COM 接口减少引用计数 / 销毁对象 |
TPersistent:: | 从 System::Classes::TPersistent 继承过来的 |
public: | 从 System::Classes::TPersistent 继承过来的 |
GetNamePath | 返回在 Object Inspector 属性面板里面的名称 |
TPersistent | 构造函数 |
~TPersistent | 析构函数 |
protected: | 从 System::Classes::TPersistent 继承过来的 |
GetOwner | 返回对象的拥有者 |
TObject:: | 从 System::TObject 继承过来的 |
public: | 从 System::TObject 继承过来的 |
BeforeDestruction | 在执行析构函数之前自动调用 |
ClassInfo | 返回运行时类型信息表 (RTTI table) |
ClassName | 获取类名,不包含命名空间的类名字符串 |
ClassNameIs | 判断类名是否为参数指定的字符串 |
ClassParent | 返回父类的类型信息 |
ClassType | 返回类的类型信息 |
CleanupInstance | 清除长字符串、Variants、接口变量等 |
DefaultHandler | 默认的消息处理 |
Dispatch | 处理消息的函数 |
DisposeOf | 强制销毁对象 |
Equals | 比较当前对象和 Obj 对象是否相同 |
FieldAddress | 通过成员名称返回成员的地址 |
Free | 销毁对象 (Delphi) |
FreeInstance | 释放 NewInstance 分配的内存 |
GetInterface | 获取指定的接口 |
GetInterfaceEntry | 获取接口项目 |
GetInterfaceTable | 获取接口表 |
GetHashCode | 返回对象的 hash 值 |
InheritsFrom | 当前对象的类是否从 AClass 继承过来的 |
InitInstance | 初始化成员,给他们清零 |
InstanceSize | 返回给实例数据分配内存需要多少字节数 |
MethodAddress | 通过名称返方法的地址 |
MethodName | 通过方法的地址返回名称 |
NewInstance | 给实例分配内存,并且返回新的实例的地址 |
QualifiedClassName | 返回包含命名空间的类名 |
SafeCallException | 处理异常的函数 |
ToString | 转为字符串 |
UnitName | 返回类所在的命名空间 |
UnitScope | 返回类所在的命名空间 |
3. TPicture 事件
事件 | 说明 |
---|---|
public: | |
OnChange | 当加载的图像发生变化时产生的事件 |
OnFindGraphicClass | 在加载或保存图像时产生这个事件,用于判断格式是否支持 |
OnProgress | 当加载、存储、转换的过程中,会产生这个事件 |
参考:
- Vcl::Graphics::TGraphic
- System::Classes::TInterfacedPersistent
- System::Classes::TPersistent
- System::TObject
- VCL 类继承关系
C++ Builder 参考手册 ➙ Vcl::Graphics ➙ TPicture