Я пытаюсь сканировать документ/фотографию с помощью WIA (Windows Image Acquisition Library v2.0) на C#, но когда я увеличиваю разрешение, оно не увеличивает разрешение, а увеличивает ширину и высоту изображения, но разрешение остается неизменным. (по умолчанию dpi сканера 75 точек на дюйм) ImageFile переменная всегда имеет 96 точек на дюйм.Разрешение C# WIA не увеличивает разрешение, а увеличивает ширину и высоту изображения. в C#
например. Если по умолчанию dpi 75, изображение имеет ширину и высоту 100, то , если я устанавливаю dpi на 150, изображение будет иметь ширину и высоту 200. , но полученный ImageFile всегда имеет 96 точек на дюйм, независимо от того, что я установил.
WIA.ImageFile img = null;
WIA.Item Item = WiaDev.Items[1] as WIA.Item;
try
{
Item.Properties.get_Item("4104").set_Value(24);
Item.Properties.get_Item("6146").set_Value(1);
double OrigResolution = Convert.ToDouble(Item.Properties["6147"].get_Value().ToString());
double ResDiff = 0.0;
int width = 0, height = 0;
if (OrigResolution < dpi)
{
ResDiff = 150/OrigResolution;
width = (int)Math.Floor((Convert.ToDouble(Item.Properties["6151"].get_Value().ToString()) * ResDiff));
height = (int)Math.Floor((Convert.ToDouble(Item.Properties["6152"].get_Value().ToString()) * ResDiff));
Item.Properties["6149"].set_Value(0);
Item.Properties["6150"].set_Value(0);
Item.Properties.get_Item("6147").set_Value(dpi.ToString("0.0"));
Item.Properties.get_Item("6148").set_Value(dpi.ToString("0.0"));
Item.Properties["6151"].set_Value(width);
Item.Properties["6152"].set_Value(height);
}
img = (ImageFile)WiaCommonDialog.ShowTransfer(Item, WIA.FormatID.wiaFormatJPEG, false);
img.SaveFile("D:\\Test.jpg");
Спасибо за ответ, но не работает, тот же результат здесь изображение [ссылка] (https://i.imgsafe.org/a1d5b4b4cf.jpg). –