使用TWAIN掃描儀進行即時通訊& gdiplus.dll。用c#掃描並保存爲PDF格式
我掃描的文件,並且可以保存像* .JPG圖像格式,* .BMP
但不允許保存爲PDF格式。顯示錯誤未知格式圖片。
這是代碼,
公共靜態布爾SaveDIBAs(字符串picname,IntPtr的bminfo,IntPtr的pixdat) {
SaveFileDialog sd = new SaveFileDialog();
sd.FileName = picname;
sd.Title = "Save bitmap as...";
sd.Filter = "PDF (*.pdf)|*.pdf";
sd.Filter = "Bitmap file (*.bmp)|*.bmp|TIFF file (*.tif)|*.tif|JPEG file (*.jpg)|*.jpg|PNG file (*.png)|*.png|PDF file (*.pdf)|*.pdf|All files (*.*)|*.*";
sd.FilterIndex = 1;
if (sd.ShowDialog() == DialogResult.OK)
return false;
Guid clsid;
if (!GetCodecClsid(sd.FileName, out clsid))
{
//MessageBox.Show("Unknown picture format for extension " + Path.GetExtension(sd.FileName),
"Image Codec", MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
IntPtr img = IntPtr.Zero;
int st = GdipCreateBitmapFromGdiDib(bminfo, pixdat, ref img);
if((st != 0) || (img == IntPtr.Zero))
return false;
st = GdipSaveImageToFile(img, sd.FileName, ref clsid, IntPtr.Zero);
GdipDisposeImage(img);
return st == 0;
}
[DllImport("gdiplus.dll", ExactSpelling=true)]
internal static extern int GdipCreateBitmapFromGdiDib(IntPtr bminfo, IntPtr pixdat, ref IntPtr image);
[DllImport("gdiplus.dll", ExactSpelling=true, CharSet=CharSet.Unicode)]
internal static extern int GdipSaveImageToFile(IntPtr image, string filename, [In] ref Guid clsid, IntPtr encparams);
[DllImport("gdiplus.dll", ExactSpelling=true)]
internal static extern int GdipDisposeImage(IntPtr image);
}
****The above code doesnt allow to save as in PDF format.****
掃描什麼文件? – ceejayoz 2009-09-18 02:48:26
'GdipSaveImageToFile'功能不支持PDF格式。 – 2009-09-18 06:15:37