使用ImageEn將掃描的檔案存為TIF格式時,原來由于保存的檔案SIZE太大(20M以上),于是將原來的ImageEnMView1.MIO.SaveToFile(FileName)方法,改為ImageEnmview1.MIO.SaveToFileTIFF(FileName),這樣檔案明顯變小了,才一兩百K,同時使用Microsoft Office Document Imaging可以打開查看,但是用其它影像軟體都不能查看,包括window的圖片瀏覽器(Windows Picture and Fax Viewer)卻不能查看,問題肯定還是出在保存上面,因為原來的ImageEnMView1.MIO.SaveToFile(FileName)雖然保存很大,但是起碼各種軟體可以打開查看.
各位高手幫忙看一下啊,其實最終的目的就是保存檔案要小,各軟體均可查看就可以了,保存檔案代碼如下:
function TSTSImageControl.Save(const FileName: WideString): WordBool;
var
i:integer;
begin
result:=false;
try
ScannerSet.CompressionType:=4;
SaveImageBitmap;
for i:=0 to ImageEnMView1.MIO.ParamsCount-1 do
begin
if uppercase(ExtractFileExt(FileName))='.TIF' then
begin
case ScannerSet.CompressionType of
0:ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_CCITT1D;
1:ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_G3FAX1D;
2:ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_G3FAX2D;
3:ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_G4FAX;
4:ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_JPEG;
else
ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_JPEG;
end;
end else
begin
ImageEnMView1.MIO.Params[i].TIFF_Compression:=ioTIFF_JPEG;
//ImageEnMView1.MIO.Params[i].TIFF_JPEGQuality:=ScannerSet.JPEGQuality;
end;
ImageEnMView1.MIO.Params[i].DpiX:=ScannerSet.XImageResolution;
ImageEnMView1.MIO.Params[i].DpiY:=ScannerSet.YImageResolution;
if (ImageEnMView1.MIO.Params[i].DpiX>0)and(ImageEnMView1.MIO.Params[i].DpiY>0) then
begin
ImageEnMView1.MIO.Params[i].Width:=
round(ImageEnMView1.MIO.Params[i].DpiX*self.ScannerSet.ImageWidth*Const_InchCm);
ImageEnMView1.MIO.Params[i].height:=
round(ImageEnMView1.MIO.Params[i].DpiY*self.ScannerSet.ImageHeight*Const_InchCm);
end else
begin
ImageEnMView1.MIO.Params[i].DpiX:=400;
ImageEnMView1.MIO.Params[i].DpiY:=400;
ImageEnMView1.MIO.Params[i].Width:=
round(400*self.ScannerSet.ImageWidth*Const_InchCm);
ImageEnMView1.MIO.Params[i].height:=
round(400*self.ScannerSet.ImageHeight*Const_InchCm);
end;
end;
ImageEnMView1.MIO.Update;
//ImageEnMView1.MIO.SaveToFile(FileName);
ImageEnmview1.MIO.SaveToFileTIFF(FileName);
except
exit;
end;
result:=true;
end;
uj5u.com熱心網友回復:
使用GID+保存為TIFF試試。。。uj5u.com熱心網友回復:
能不能將具體代碼幫我寫一下呢,實際上我從未接觸過delphi,只是做這個的同事離職了,因為急,由我這個做B/S的人接手看一下,剛剛好不容易調通可以編譯,至于具體代碼這塊,希望高手能夠幫忙寫一下,我編譯看看,謝謝啊.
uj5u.com熱心網友回復:
有沒有人幫忙啊uj5u.com熱心網友回復:
確實,這個不知道要改那個引數才能夠比較理想uj5u.com熱心網友回復:
壓縮格式選 jpg轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/118741.html
