procedure TfrmMain.mnuSaveClick(Sender: TObject);
begin
  if SavePictureDialog1.Execute then
     Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
end;
 
这样写指能保存白板的文件1没有扩展名,如何改才能正常保存1.jpg的图片呢

解决方案 »

  1.   

    SavePictureDialog1控件可以设置下
      

  2.   

    filter 属性设置成*.jpg    *.jpg
      

  3.   


      SaveDialog1.Options := [ofOverwritePrompt];
      SaveDialog1.Filter := 'JPG (*.jpg)|*.jpg';
      SaveDialog1.FilterIndex := 1; { start the dialog showing all files }
      SaveDialog1.DefaultExt := 'jpg';
      SaveDialog1.FileName := '';
      if SaveDialog1.Execute then
        Image1.Picture.SaveToFile(SaveDialog1.FileName);
      

  4.   


    出错 : Build
      [Error] Unit1.pas(80): Undeclared identifier: 'SaveDialog1'
      [Error] Unit1.pas(80): Missing operator or semicolon
      [Error] Unit1.pas(81): Missing operator or semicolon
      [Error] Unit1.pas(82): Missing operator or semicolon
      [Error] Unit1.pas(83): Missing operator or semicolon
      [Error] Unit1.pas(84): 'THEN' expected but identifier 'Execute' found
      [Error] Unit1.pas(91): Statement expected but end of file found
      [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
      

  5.   

    忘了说了用的是Dialog面板下面的SaveDialog控件。
      

  6.   

    也可以在保存时的文件名后加个'.jpg'后缀啊  呵呵
      

  7.   

    SaveDialog1.FilterIndex := 1; 这句什么意思?我去了,也是那样?没什么区别?怎么才看出有和没有的区别来
      

  8.   

    要是保存到数据库的你可以考虑如下表
    ID  图片名     图片内容
    ID  PICNAME  PICNY   
      

  9.   

    FilterIndex指定显示的类型(一般用在Filter有多组类型时),1表示第1组、2表示第2组OpenDialog1.Filter := 'Text files (*.txt)|*.txt|All files (*.*)|*.*';
    OpenDialog1.FilterIndex := 2;打开对话框时显示的类型是 All files (*.*)|*.*