procedure TForm1.Button2Click(Sender: TObject);
begin
    imgscan1.OpenScanner;//打开扫描仪
    imgscan1.StartScan; //开始扫描图象
    imgscan1.CloseScanner; //关闭扫描仪
end;procedure TForm1.Button3Click(Sender: TObject);
begin
imgscan1.ShowSelectScanner;
end;扫描仪响了一下,工作指示灯亮,但没有显示控制窗口,整个程序象死掉一样

解决方案 »

  1.   

    ImgScan.FileType := 3;
        ImgScan.ScanTo   := 1;procedure TFormImport.tbtnScanClick(Sender: TObject);
    var ScanFile,jpgFile: String;
        bmp: TBitmap;
        jpg: TJpegImage;
        LS: TListItem;
    begin
    try
      ForceDirectories(FilePath);
      if TRIM(edtScanFile.Text) = '' then
      begin
        Application.MessageBox('请输入扫描的文件名!','系统提示',MB_OK+MB_IconInformation);
        edtScanFile.SetFocus;
        Exit;
      end;
      if FileExists(FilePath+'\'+edtScanFile.Text) then
      begin
        if Application.MessageBox('该文件已经存在,是否覆盖?','系统提示',MB_YESNO+MB_IconQuestion+MB_DEFButton2) = IDNO then
        begin
          edtScanFile.SetFocus;
          Exit;
        end;  
      end;
    //  ImgEdit.Visible := True;
      ImgScan.ShowSelectScanner;
      //如果选择的扫描仪不可用
      if  not ImgScan.ScannerAvailable then
        ImgScan.OpenScanner;  //打开扫描仪
      ImgScan.Image := FilePath+ '\'+ TRIM(edtScanFile.Text) + '.bmp';
      ImgScan.StartScan;    //开始扫描图象
      ImgScan.CloseScanner; //关闭扫描仪
      //
      ScanFile := FilePath+ '\'+ TRIM(edtScanFile.Text) + '.bmp';
      //转换Bmp文件到Jpg
      try
        bmp := TBitmap.Create;
        jpg := TJpegImage.Create;
        bmp.LoadFromFile(ScanFile);
        jpg.Assign(bmp);
        jpgFile := ChangeFileExt(ScanFile,'.jpg');
        jpg.SaveToFile(jpgFile);
        bmp.Free;
        jpg.Free;
        DeleteFile(ScanFile);
      except
        Application.MessageBox('转换图片失败,请缩小扫描精度!','系统提示',MB_OK+MB_IconError);
        Exit;
      end;
    except
      Application.MessageBox('扫描图象出错,请重新扫描!','错误',MB_OK+MB_IconError);
    end;
    end;
      

  2.   

    不要采用TBitmap进行图片转换,用imgEdit控件进行图片转换
    imgEdit.image:=ScanFile;
    imgEdit.display;
    imgEdit.saveto(ScanFile,6);//转换成jpg格式