TPicture - C++ Builder

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
  • 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

你可能感兴趣的:(TPicture - C++ Builder)