Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/64: Рейтинг темы: голосов - 64, средняя оценка - 4.61
1 / 1 / 1
Регистрация: 11.11.2014
Сообщений: 58

Отрисовка текста в PictureBox

11.11.2014, 18:13. Показов 12669. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я хочу нарисовать текст в PictureBox(чтобы сохранялся потом..)
На форуме microsoft нашёл код, который рисует в Windows Form, как ни пытался не смог нарисовать в PictureBox
C#
1
2
3
4
5
6
7
8
9
10
11
12
            System.Drawing.Graphics formGraphics = this.CreateGraphics();
            string drawString = "Sample Text";
            System.Drawing.Font drawFont = new System.Drawing.Font(
                "Arial", 16);
            System.Drawing.SolidBrush drawBrush = new
                System.Drawing.SolidBrush(System.Drawing.Color.Black);
            float x = 150.0f;
            float y = 50.0f;
            formGraphics.DrawString(drawString, drawFont, drawBrush, x, y);
            drawFont.Dispose();
            drawBrush.Dispose();
            formGraphics.Dispose();
Прошу помочь, буду очень благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2014, 18:13
Ответы с готовыми решениями:

Отрисовка picturebox
У меня есть 5 picturebox , которые изначательно невидимые (visible - false) . В течении программы некоторые появляются , появляются без...

Отрисовка линий в pictureBox
Собственно проблема такая - после того, как отпускаю кнопку мыши - линия пропадает public partial class Editor : Form { ...

Отрисовка кривых в PictureBox
Подскажите, есть код отрисовки кривых, но работает не совсем корректно. using System; using System.Collections.Generic; using...

24
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.11.2014, 19:20
Цитата Сообщение от Romesfu1 Посмотреть сообщение
Я хочу нарисовать текст в 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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication3 {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
            button1.Click += new EventHandler(button1_Click);
        }
 
        void button1_Click(object sender, EventArgs e) {
            using (Graphics g = pictureBox1.CreateGraphics()) {
                g.Clear(Color.White);
                g.DrawString("Olo-lo-lo!", new Font("Courier New",30.0F), new SolidBrush(Color.Red), new Point(10, 10));
            }
        }
    }
}
Форма, кнопка и пикчер...
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
11.11.2014, 19:51
а без
Цитата Сообщение от insite2012 Посмотреть сообщение
кнопка
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.11.2014, 19:53
asql, значит привязать отрисовку к какому-то другому событию...
По щучьему велению там точно ничего не отрисуется.
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
11.11.2014, 20:01
Цитата Сообщение от insite2012 Посмотреть сообщение
По щучьему велению там точно ничего не отрисуется
C#
1
2
3
4
            pictureBox1.Image = (Image)new Bitmap(pictureBox1.Width, pictureBox1.Height);
            Graphics g = Graphics.FromImage(pictureBox1.Image);
            g.DrawString("Hello!", new Font("Arial", 10), new SolidBrush(Color.Red), new Point(10, 10));
            g.Dispose();
а так?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.11.2014, 20:06
Цитата Сообщение от asql Посмотреть сообщение
а так?
Вы полностью код покажите... Что вы тело показываете...
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
11.11.2014, 20:08
это полностью. Вставляете его в public Form1() и радуетесь
0
1 / 1 / 1
Регистрация: 11.11.2014
Сообщений: 58
11.11.2014, 20:14  [ТС]
insite2012, после кода вот этого
C#
1
2
3
4
pictureBox1.Image = (Image)new Bitmap(pictureBox1.Width, pictureBox1.Height);
            Graphics g = Graphics.FromImage(pictureBox1.Image);
            g.DrawString("Hello!", new Font("Arial", 10), new SolidBrush(Color.Red), new Point(10, 10));
            g.Dispose();
Изображение убирается, остаётся только текст, как сделать текст и изображение, чтобы потом можно было сохранить?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.11.2014, 20:15
Цитата Сообщение от asql Посмотреть сообщение
Вставляете его в public Form1() и радуетесь
А что такое public Form1(), по-вашему? Это конструктор. И он вызывается при создании формы (из метода Main()). А уберите ваш код в отдельный метод, и ничего не отрисуется без к-либо события.
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
11.11.2014, 20:16
думаю вопрос был ко мне...
C#
1
pictureBox1.Image = (Image)new Bitmap(pictureBox1.Width, pictureBox1.Height);
Вот это уберите
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.11.2014, 20:17
Цитата Сообщение от Romesfu1 Посмотреть сообщение
как сделать текст и изображение, чтобы потом можно было сохранить?
Цитата Сообщение от Romesfu1 Посмотреть сообщение
Я хочу нарисовать текст в PictureBox(чтобы сохранялся потом..)
Romesfu1, а вы могли бы выражать мысли точнее? Вам надо не нарисовать в пикчкере, а наложить строку текста на загруженное в пикчер изображение. Так?
1
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
11.11.2014, 20:18
Цитата Сообщение от insite2012 Посмотреть сообщение
А что такое public Form1(), по-вашему? Это конструктор. И он вызывается при создании формы (из метода Main()). А уберите ваш код в отдельный метод, и ничего не отрисуется без к-либо события.
... я не хотел вас обижать!)
0
1 / 1 / 1
Регистрация: 11.11.2014
Сообщений: 58
11.11.2014, 20:44  [ТС]
insite2014, именно так

Добавлено через 33 секунды
asql, ничего не происходит если убрать данную строку
0
 Аватар для cool_grass
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 13
11.11.2014, 21:23
В событиях picturebox Выберите Paint . И при запуске программы , все начнет само рисоваться
0
1 / 1 / 1
Регистрация: 11.11.2014
Сообщений: 58
11.11.2014, 21:24  [ТС]
insite2012, Не подскажите как сделать?
0
 Аватар для cool_grass
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 13
11.11.2014, 21:24
На счет сохранения , Bitmap используйте !
0
1 / 1 / 1
Регистрация: 11.11.2014
Сообщений: 58
11.11.2014, 21:31  [ТС]
cool_grass, Так и делаю

Добавлено через 5 минут
cool_grass, можно поподробнее?
Цитата Сообщение от cool_grass Посмотреть сообщение
В событиях picturebox Выберите Paint . И при запуске программы , все начнет само рисоваться
0
 Аватар для cool_grass
0 / 0 / 0
Регистрация: 09.12.2013
Сообщений: 13
11.11.2014, 21:32
А в чем тогда проблема , все сохраняется !

Добавлено через 44 секунды
C#
1
2
3
4
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
 
        }
0
0 / 0 / 0
Регистрация: 05.07.2011
Сообщений: 203
03.03.2017, 11:50
не буду плодить новую тему.
вопрос в следующем:
имеется несколько закладок в tabControl,
на первой вкладке pictureBox1, на второй - pictureBox2.
при нажатии на кнопку в 1 закладке на pictureBox1 рисуется текст (например 263)
также и на другой вкладке (например 275).
при перемещениями между вкладками текст должен оставаться!
делаю так:
C#
1
2
3
Graphics g = pictureBox1.CreateGraphics();
g.DrawLine(new Pen(Color.Black, 2), 10, 10, 10, 40);
g.DrawString("263", new Font("Segoe UI", 10), Brushes.Black, new PointF(40, 10));
или так
C#
1
2
3
4
5
 
pictureBox1.Image = (Image)new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.DrawString("263", new Font("Segoe UI", 10), Brushes.Black, new PointF(40, 10));
g.Dispose();
проблема в том, что в первом варианте, сам текст выглядит хорошо, но pictureBox очищается
а во втором варианте текст отображается в растре и очень плохо выглядит
Можно как то отобразить текст не в растре?
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,095
03.03.2017, 14:23
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public MyForm()
{
   ....
   pictureBox1.Paint += pictureBox_Paint;
   pictureBox1.Tag="263";
   pictureBox2.Paint += pictureBox_Paint;
   pictureBox2.Tag="275";
}
 
private void pictureBox_Paint(object sender, PaintEventArgs e)
{
  PictureBox pb=sender as PictureBox;
  if(pb.Tag!=null)
    {
       string text=pb.Tag.ToString();
       using(Font fnt=new Font("Segoe UI", 10))
         {
           e.Graphics.DrawString(text, fnt, Brushes.Black, new PointF(40, 10));
         }
    } 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2017, 14:23
Помогаю со студенческими работами здесь

Медленная отрисовка отрезков в PictureBox
Здравствуйте, есть такая проблема. Необходимо сделать так чтобы отрезки появлялись попиксельно на экране (как будто карандашем чертишь). ...

Отрисовка изображения в в определенных координатах на PictureBox
Всем доброго времени суток. Такая вот делема: на имеющийся на форме picturebox необходимо загрузить несколько изображений, при чем каждое...

График PictureBox отрисовка при открытии файла
Здравствуйте, пишу приложение где использую PictureBox(PB) в качестве полотна для вывода графика. Приложение простое открываем файл читаем...

Отрисовка графика в pictureBox при загрузке формы
Доброй ночи! Есть форма, в которой располагается pictureBox1, на котором рисуется график с координатными осями. Необходимо сделать, что...

Как во время отладки просматривать изменения (отрисовка картинки) на PictureBox
Привет всем, подскажите пож., я в цикле отрисовываю картинку на PictureBOx ну и хочу проверить как это делается, только вот во время...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru