【发布时间】:2009-11-18 17:20:03
【问题描述】:
我的应用有 3 个控件:TThumbnailList(来自 TMS 组件的图像查看器)、TImage 和 TLabel。我希望当我将图像从 TThumbnailList 拖到 TImage 并将其放下时,TLabel 对象会显示该图像的大小(以字节为单位)。我怎么得到这个? 提前致谢。
procedure TForm1.AssignImage;
begin
//tl: TThumbnailList
if (tl.ItemIndex>=0) then begin
Image1.Picture.Assign(tl.Thumbnails.Items[tl.ItemIndex].Picture);
end;
end;
procedure TForm1.Image1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if (Source is TThumbnailList) then AssignImage;
end;
procedure TForm1.Image1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState;
var Accept: Boolean);
begin
Accept:= Source is TThumbnailList;
end;
【问题讨论】:
-
“图像大小”到底是什么意思? TImage 对象的总大小?加载它的原始文件的大小?未压缩的图像数据的大小?
-
对不起,我的意思是“原始文件的大小”。有一个使用 TMemoryStream 来获取大小的过程,但是我必须为每个丢弃的图像创建一个新对象,那么 TImage 是否有任何属性来显示此信息?再次感谢。