3

Я пишу печатную маршрутизацию на C#, используя класс .NET PrintDocument, обрабатывая событие OnPrintPage.Как обработать изображение в .NET для полностраничной печати с таким качеством, как Windows Photo Gallery?

мне удалось максимизировать рентабельность и распечатать изображение в ландшафтном режиме, но он просто не выглядит так же хорошо, как при печати одного файла изображения из Windows Photo Gallery (ранее просмотра изображений и факсов) , программа предварительного просмотра изображений по умолчанию в Windows Vista.

Я заметил там вариант для выбора «Sharpen Image for Printing», но что он делает?

Сначала я подумал о том, чтобы распечатать копии изображения из Windows Photo Gallery, а затем отправить листы через принтер во второй раз, чтобы распечатать пользовательские накладки, которые мне нужны, но сложно сделать это каждый раз, так как принтер всасывает лист без необходимой точности ... поэтому мне действительно нужно ВСЕ ВСЕ команды рисования внутри C#, включая изображение.

Кто-нибудь знает, как выполнить предварительную обработку на растровом изображении так, чтобы он печатался так же хорошо, как Windows Photo Gallery? Существуют ли какие-либо простые драйверы печати, которые могут перехватывать вывод печати фотогалереи в качестве стандартного файла изображения (bmp, png и т. Д.), Который может быть прочитан классом .NET Image? Я здесь для творчества.

ответ

0

Если вы пытаетесь сделать небольшое изображение и распечатать его большую версию, это может помочь создать более крупную версию вашего изображения в памяти и затем распечатать эту более крупную версию. Это, как правило, как вы могли бы сделать это:

Bitmap largeBitmap = new Bitmap(800, 600); 
using (Graphics g = Graphics.FromImage(largeBitmap)) 
{ 
    g.InterpolationMode = InterpolationMode.HighQualityBicubic; 
    g.DrawImage(smallImage ...) // I forget which of the 30 
     // overloads you need here 
} 
// then print largeBitmap 

В основном вы бы давая GDI + изменить размер изображения вместо принтера; это может быть или не быть улучшением. «Обогащение» в Фотогалерее, конечно, более сложное, чем это, и нацелено на проблемы с печатью.

+0

Я не думаю, что более высокое качество имеет много общего с интерполяцией в этом конкретном случае, хотя я попробую это, так как есть некоторое масштабирование , Кажется, что это что-то делает с цветами, поскольку я замечаю, что в тенях, напечатанных из фотоальбома Windows, нет «полос», например, когда я печатаю их с C# unmodified. – Triynko

1

Paint.Net использует средство просмотра изображений и факсов Windows для его печати и ранее был с открытым исходным кодом.

Быстрый Google для источника «Paint.Net», кажется, включает его, хотя в предыдущих воплощениях, прежде чем они снова его закрыли. Я бы посмотрел их источник и посмотрел, как они вызывают диалог