Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 4

Как повысить качество печати текста с pictureBox

18.01.2018, 11:28. Показов 3899. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При отправке на печать на принтер изображения из pictureBox в котором нарисован текст нарисованный через drawstring получается очень низкое качество печати. (рисую на bitmap). Как повысить качество печати текста.

Добавлено через 2 часа 47 минут
Код который рисует на pictureBox
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
            
            PB.Image = new Bitmap(PB.Width, PB.Height);
            Graphics g = Graphics.FromImage(PB.Image);
            g.Clear(Color.White);            
 
            float Xcenter;
            float Ycenter;
            Font drawfont = new Font("TimesNewRoman", (float)0.36 * MashtabX, FontStyle.Bold, 
            GraphicsUnit.Inch);//FontFamily.GenericSerif, 85. 32
            Pen pen = new Pen(Color.Black, (float)0.5);
            Pen pen1 = new Pen(Color.Black, (float)2);
            SolidBrush BrushFont = new SolidBrush(Color.Black);
 
 
 
 
  for (int i = 0; i < 1233; i++)
            {
                Xcenter = (float)(Xstart + Convert.ToDouble(Cells[i][7], CultureInfo.InvariantCulture));
                Ycenter = (float)(Ystart + Convert.ToDouble(Cells[i][8], CultureInfo.InvariantCulture));
                GeksF(Xcenter, Ycenter, out Geks);
 
                SolidBrush Brush = new SolidBrush(Color.FromArgb(Convert.ToInt32(Cells[i][3], CultureInfo.InvariantCulture), Convert.ToInt32(Cells[i][4], CultureInfo.InvariantCulture),
                                                                 Convert.ToInt32(Cells[i][5], CultureInfo.InvariantCulture), Convert.ToInt32(Cells[i][6], CultureInfo.InvariantCulture)));
                g.FillPolygon(Brush, Geks);
                g.DrawPolygon(pen, Geks);
 
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                g.DrawString(Cells[i][0], drawfont, BrushFont, (Xcenter - 40) * MashtabX, (Ycenter - 35) * MashtabY, StringFormat.GenericTypographic);
                g.DrawString(Cells[i][1], drawfont, BrushFont, (Xcenter - 30) * MashtabX, (Ycenter + 5) * MashtabY, StringFormat.GenericTypographic);
}
Код обработки кнопки на печать
C#
1
2
3
4
5
6
7
8
9
10
11
PrintDialog myPrintDialog = new PrintDialog();
            if (dataGridView4.Rows.Count == 0)
            {
                PrintDocument myPrintDocument1 = new PrintDocument();                
                myPrintDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
                myPrintDialog.Document = myPrintDocument1;
                if (myPrintDialog.ShowDialog() == DialogResult.OK)
                {
                    myPrintDocument1.Print();
                }
            }
Сама печать
C#
1
2
3
4
5
6
7
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
        {
            Bitmap myBitmap1 = new Bitmap(pictureBox2.Width, pictureBox2.Height);
            pictureBox2.DrawToBitmap(myBitmap1, new Rectangle(0, 0, pictureBox2.Width, pictureBox2.Height));
            e.Graphics.DrawImage(myBitmap1, 0, 0);
            myBitmap1.Dispose();
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2018, 11:28
Ответы с готовыми решениями:

Плохое качество печати - грязное дублирование текста
Здравствуйте! Принтер HP LaserJet 5P. Стал грязно печатать. Заменил картридж на новый из нераспечатанной коробки. Качество печати не...

Как убрать разводы фонового изображения и повысить качество изображения ?
Не знаю как описать проблему, поэтому просто выкладываю скрин. Установил офф драйвер видеокарты с офф сайта производителя. p.s....

Каким методом лучше повысить качество трафика?
Есть коммерческий сайт, который работает как генератор трафика и собирает переходы примерно по 10 тыс. различных товаров в неделю. Ключевые...

20
18 / 19 / 4
Регистрация: 27.06.2016
Сообщений: 236
13.03.2023, 04:10
Студворк — интернет-сервис помощи студентам
Идея была в том чтобы что человек видит на экране то он и получит при печати на листе.
И что , разве это никому в голову не приходило при разработке windows form что при печати формы люди захотят качество больше чем 96 dpi ?
Если вы назваете прямой способ печати c формы средствами windows forms дилетантским подходом то какой тогда професиональный подход? Покачто вы предложили печатать через другие приложения.
Я понимаю что данные можно сохранить в CSV файле а потом спокойно печатать в екселе. Можно и HTML файл состряпать а потом браузером печатать. Но всетаки хотелось обойтись возможностями самого приложения которое я делаю.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2023, 04:10

Исследование модели RLC график функции повысить качество системы
Нужна помощь. Попыталась сама написать скрипт построения графика. не правильно( U=e^(l-t)*cos(w*t); R=0; C=0.001*10^-6; ...

Посоветуйте книги, которые помогут повысить качество архитектур в создаваемых приложениях
Посоветуйте книги, которые помогут повысить качество архитектур в создаваемых приложениях

Объясните пожалуйста, как создать кнопку печати из PictureBox?
Пишу свою первую программу и хочу сделать печать... но как не знаю... Сама форма : Код: using System; using...

Плохое качество печати
Есть принтер Xerox 5020. В нем есть драмюнит в который засыпается тонер. После печати если потереть пальцем по образцу, то на пальце...

Качество печати через windows
Недавно пришлось установить ОС windows7 professional sp1 64. При печати изображений через POINT качество хорошее. При печати напрямую через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru