C# 扫描后减小图像大小?
我有扫描文件并将其保存在我的路径上的代码:C# 扫描后减小图像大小?,c#,asp.net,wia,scanning,C#,Asp.net,Wia,Scanning,我有扫描文件并将其保存在我的路径上的代码: public ImageFile Scan() { var device = this._deviceInfo.Connect(); var item = device.Items[1]; var imageFile = (ImageFile)item.Transfer(FormatID.wiaFormatJPEG); return imageFile; } pr
public ImageFile Scan()
{
var device = this._deviceInfo.Connect();
var item = device.Items[1];
var imageFile = (ImageFile)item.Transfer(FormatID.wiaFormatJPEG);
return imageFile;
}
protected void btnscan_Click(object sender, EventArgs e)
{
foreach (Object scanner in scanners)
{
if (ddlSelectDevice.SelectedItem.ToString().Equals(scanner.ToString()))
{
//var d = ddlSelectDevice.SelectedIndex as Scanner;
var device = scanner as Scanner;
if (device == null)
{
return;
}
var image = device.Scan();
var path = "~/Scanner/scan.jpeg";
if (File.Exists(Server.MapPath(path)))
{
File.Delete(Server.MapPath(path));
}
image.SaveFile(Server.MapPath(path));
break;
}
}
}
我通过转换为字节将此图像保存在数据库中:
private byte[] image2Byte()
{
string filePath = null;
Byte[] bytes = null;
if (File.Exists(Server.MapPath("~/Scanner/scan.jpeg")))
{
filePath = Server.MapPath("~/Scanner/scan.jpeg");
return bytes = File.ReadAllBytes(filePath);
}
else
{
filePath = Server.MapPath("~/Scanner/None.jpg");
return bytes = File.ReadAllBytes(filePath);
}
}
但我的图像通常都很大(高达400kB),在加载时会出现问题。如何减小图像大小 您可以使用来降低JPEG文件的质量。对于大多数用例,80%的质量是可以接受的
using (ImageFactory imageFactory = new ImageFactory(preserveExifData:true))
{
imageFactory.Load(inStream)
.Quality(80)
.Save(outStream);
}
此软件包未安装在.netframework win项目中