关于image的问题具体请进来看一下。谢谢了(50分)

  • 主题发起人 主题发起人 sum_z_x
  • 开始时间 开始时间
S

sum_z_x

Unregistered / Unconfirmed
GUEST, unregistred user!
我把EXCEL里的图片复制到剪贴板后,在导到image里,但是我没办法知道图片的格式。
所以我用image.picture.assige(Clipboard);但是这样导进去的图片我要保存的时候问题就来了.用Image1.Picture.bitmap.savetostream(tfstream);存进去图片是空的.
用Image1.Picture.Graphic.savetostream(tfstream);存进去的图片打不开.
请问大家发表一下办法谢谢了.
下面的我的程序片段:
ClipBoard.HasFormat(CF_PICTURE);
Clipboard.Create;//创建剪贴板
ExcelWorksheet1.Shapes.Item(i).copy;//复制图片
image1.Picture.Assign(Clipboard); //导入.如果用.image1.picture.bitmap.assign(clipboard);会出错晕啊.
Image1.Picture.Graphic.savetostream(tfstream);
tfStream.Position:=0;
tblobfield(fieldbyname('image1')).loadfromstream(tfstream);

如果看不懂的我要问的问题,请说一下我在注释.
 
EXCEL里边最大的可能是Bitmap/JPEG
function AFunc: Integer;
var
aBM: TBitmap;
begin
Result:= -1;
if Assigned(Image1.Picture.Graphic) and (not Image1.Picture.Graphic.Empty) then
begin
Result:=-2;
ABM:= TBitmap.Create;
Result:=-3;
try
aBM.Assign(Image1.Picture.Graphic);
Result:=-4;
aBM.SaveToStream(fStream);
Result:=-5;
finally
aBM.Free;
end;
end;
end;
 
以前我用//bmp.assign(image1.picture); 出错,改成了你的上面那样还是出错。
出错一样提示:cannot assign a tmetafile to a tbitmap
EXCEL里边的图片格式好像不是的JPEG 的是Windows Enhanced Metafile

还有没有别的方法啊。
 
如何在FORM中放置GIF文件,谢谢大家!
 
TO:suniori
http://delphibbs.com/delphibbs/dispq.asp?lid=1802269
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
712
import
I
I
回复
0
查看
657
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部