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

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

18.01.2018, 11:28. Показов 3720. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru