扩展DBImage支持五种图形显示 DBImageEx继承DBImage组件,支持五种(任意扩充)图形格式(目前),完成各种图形格式文件的直接存取,和显示。增加了LoadFromFile,LoadFromStream,SaveToFile,SaveToStream,GetImageType五种方法;AutoImageSize,AutoScroll,Caption,PictureType,ScrollBars,ScrollBarWidth,Size,ShowName属性八个属性,OnMouseWhell,OnMouseWhellDown,OnMouseWheelUp三个事件。支持写字板拷贝。当图像大于图像框时鼠标指针显示为手型,这时可以使用鼠标在图像框中上下左右移动图像。 注:(我试用的GIF图形组件为RxGIF和Anders Melander的GIFImage,这两个组件都有不同程度的缺陷,RxGIF较好,但RxGIF引用了Rx系列组件中的RxCtl5库;GIFImage是独立的一个文件,使用较为方便,但不太稳定)。 定义: TPictureType = (pkBitmap, pkJPEG, pkIcon, pkWMF, pkEMF, pkGIF, pkNone); 增加了以下几个方法和属性: 方法: Procedure LoadFromFile(FileName: String); dynamic; LoadFormFile 方法从图形文件加载图形到数据库。FileName 包含文件所在的路径。 方法: Procedure SaveToFile(FileName: String); dynamic; SaveToFile 方法从数据库读取图形文件存到FileName 所指定的路径和文件名,图形文件扩展名由数据库图形文件的属性决定,用户可以通过指定 PictureType 改变图形文件的格式(见下面对PictureType 属性的说明)。 方法: Procedure LoadFromStream(Stream: Tstream); dynamic; LoadFormStream 方法从数据流读取文件到数据库。 方法: Procedure SaveToStream(Stream: Tstream); dynamic; SaveToStream 方法从数据库存取图形文件到数据流。 方法: function GetImageType(Stream: Tstream): TpictureType; GetImageType 方法从数据流获取图形文件的格式。 属性: AutoImageSize:Boolean; 当AutoImageSize为真,DbImageEx的Picture框架随图像的大小在父容器中自动变化。 属性: AutoScroll:Boolean; 当AutoScroll为真,图像的尺寸如果超过DbImageEx的Picture框架时,自动出现滚动条。 属性: PictureType:TPictureType; TPictureType = (pkBitmap, pkJPEG, pkIcon, pkWMF, pkEMF, pkGIF, pkNone); 读取和设置当前图形文件的格式,BitMap、JPEG、GIF格式可以通过设置PictureType来相互转换,不支持将图形文件BitMap、JPEG、GIF转为WMF、EMF、ICON。 属性: ScrollBars:TScrollStyle; TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth); 设置水平和垂直滚动条。 属性: ScrollBarWidth:Integer; 设置滚动条的宽度,缺省10。 属性: Size:Integer; 读取当前图形文件在数据库中所占字节数。只读属性。 属性: ShowName:Boolean,Caption:String; 当ShowName为假时且当前数据库为空时在DBImage中显示Caption中的字符串。 事件: OnMouseWheel; OnMouseWheelDown; OnMouseWheelUp; 事件: OnLodingImage; 当加载其他种类的图形时,在这里提供接口,格式如下: procedure TForm1.DBImageEx1LoadingImage(var Graphic: TGraphic); begin Graphic := TTIFFImage.Create; end; |