关于图像文件保存类型的问题?(100分)

  • 主题发起人 主题发起人 flyso
  • 开始时间 开始时间
F

flyso

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚学Delphi,花了半天时间写了一个小的抓图工具,保存类型有GIF,JPG,BMP等等,在选择保存类型无论是哪一种
保存出来的都没有扩展名,除非自己输入文件名加上扩展名才行,请问高手如何解决该问题?
[?][?][?]
 
在保存对话框中选择的时候用代码给加上呀
 
SaveDialog1->Filter="Bmp files (*.bmp)|*.BMP";
 
我用来处理bmp和jpg的保存的程序。
procedure TFormMain.SaveAsClick(Sender: TObject);
var
FileExt,FileName:string;
begin
if SavePictureDialog1.Execute then
begin
FileExt:=ExtractFileExt(SavePictureDialog1.FileName);
if (FileExt='.BMP') or (FileExt='.bmp') then
ImageSrc.Picture.SaveToFile(SavePictureDialog1.FileName);
if (FileExt='.jpg') or (FileExt='.JPG') then
begin
AJpeg.Assign(TJpegImage(ImageSrc.Picture.Bitmap));
AJpeg.SaveToFile(SavePictureDialog1.FileName);
end;
if FileExt='' then //你要的是这段
begin
case SavePictureDialog1.FilterIndex of
1:begin
FileName:=SavePictureDialog1.FileName+'.bmp';
ImageSrc.Picture.SaveToFile(FileName);
end;
2:begin
FileName:=SavePictureDialog1.FileName+'.jpg';
AJpeg.Assign(TJpegImage(ImageSrc.Picture.Bitmap));
AJpeg.SaveToFile(FileName);
end;
end;
end;
end;
 
谢谢楼上的兄弟,我在SaveDialog1已经设置了过滤,所以可能只需要
[red]//你要的是这段
begin
case SavePictureDialog1.FilterIndex of
1:begin
FileName:=SavePictureDialog1.FileName+'.bmp';
ImageSrc.Picture.SaveToFile(FileName);
end;
2:begin
FileName:=SavePictureDialog1.FileName+'.jpg';
AJpeg.Assign(TJpegImage(ImageSrc.Picture.Bitmap));
AJpeg.SaveToFile(FileName);
end;
end;[/red]
但是我用了之后却不能够编译,好像有些地方和我的源码有些出入,我把我的源码放上来,请帮我看一下,如编译成功
请发到flyso@163.com并将修改的地方说明一下,谢谢了
下载地址:http://down.emucn.net/emucn/flyso/getpic.zip
 
没人帮忙吗?
 
我刚看到不久,改了一下可以运行了,发到邮箱了,注意接受。
 
谢谢,已经搞定了,如果有时间帮我看看GIF和ICO如何处理,谢谢了老兄。。。。
 

Similar threads

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