Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как Graphics преобразовать в Bitmap / 18 сообщений из 18, страница 1 из 1
31.01.2017, 23:01
    #39395905
roleks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Подскажите, как Graphics преобразовать в Bitmap

Пробовал
Bitmap b = new Bitmap(300, 300, graphics);

а потом

graphics.DrawImage(b, 0,0);

что было нарисовано в Graphics - пропало.
...
Рейтинг: 0 / 0
01.02.2017, 08:02
    #39395978
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Вы можете рисовать на Bimap
Код: c#
1.
2.
3.
Bitmap b = new Bitmap(300, 300);
Graphics g = Graphics.FromImage(b);
g.DrawLine(...

для получения Bitmap из контекста где рисовали, не совсем тривиальная задача и нужна-ли она Вам.
...
Рейтинг: 0 / 0
01.02.2017, 18:44
    #39396658
Т-Миронов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
...
Рейтинг: 0 / 0
01.02.2017, 18:46
    #39396659
Т-Миронов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Т-Миронов https://msdn.microsoft.com/ru-ru/library/byca5y1f(v=vs.110).aspx

Вру. Не смотри.
...
Рейтинг: 0 / 0
16.11.2017, 21:57
    #39554699
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Вопрос актульный.

Кто-нить нашёл ответ?
...
Рейтинг: 0 / 0
16.11.2017, 22:37
    #39554707
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
roleksПодскажите, как Graphics преобразовать в BitmapКак имея карандаш, получить картинку, которую он недавно нарисовал?
...
Рейтинг: 0 / 0
16.11.2017, 23:27
    #39554716
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
pationВопрос актульный.

Кто-нить нашёл ответ?
а кто его терял?
...
Рейтинг: 0 / 0
16.11.2017, 23:34
    #39554718
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
refregКак имея карандаш, получить картинку, которую он недавно нарисовал?
++
Еще одно сравнение: Graphics - мольберт, Bitmap - полотно.
roleksПробовал
Bitmap b = new Bitmap(300, 300, graphics);
В данном случае параметр graphics - всего лишь инфа о разрешении.
Код: c#
1.
2.
3.
4.
5.
6.
7.
Bitmap b = new Bitmap(300, 300);
//pictureBox1.Image = b;
using (Graphics g = Graphics.FromImage(b)) {
    g.FillRectangle(Brushes.Transparent, 0, 0, b.Width, b.Height); // может этого не хватало автору?
    g.DrawEllipse(new Pen(Color.Red, 5), 0, 0, 300, 300);
}
b.Save(@"c:\temp\test.png", System.Drawing.Imaging.ImageFormat.Png);
...
Рейтинг: 0 / 0
16.11.2017, 23:35
    #39554719
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
LRВ данном случае параметр graphics - всего лишь инфа о разрешении.
вообще-то memory device context
...
Рейтинг: 0 / 0
16.11.2017, 23:43
    #39554722
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
ИзопропилLRВ данном случае параметр graphics - всего лишь инфа о разрешении.
вообще-то memory device context
https://msdn.microsoft.com/en-us/library/byca5y1f(v=vs.110).aspx g - Type: System.Drawing.Graphics
The Graphics object that specifies the resolution for the new Bitmap .

Т.е., в этом конструкторе, кроме разрешения для нового Bitmap-а, ничего более от Graphics не берется/требуется. Это к тому, что автор, вероятно, надеялся что "натянув новый холст на мольберт, автоматически получит копию последнего полотна", сорри если ошибаюсь))
...
Рейтинг: 0 / 0
16.11.2017, 23:48
    #39554727
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
LR,

Кроме разрешения, битмап на котором рисование ведётся вообще-то


В нативном winapi всё гораздо прозрачнее, хотя и многословнее
...
Рейтинг: 0 / 0
17.11.2017, 00:03
    #39554734
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Изопропил,

Тогда в b2 должна быть такая же картинка как и в b1, верно? Но это не так (да и в доке было бы совсем другое, а не однозначное "The Graphics object that specifies the resolution for the new Bitmap.")
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Bitmap b1 = new Bitmap(300, 300);
Bitmap b2 = null;
pictureBox1.Image = b1;
using (Graphics g = Graphics.FromImage(b1))
{
    g.DrawEllipse(new Pen(Color.Red, 5), 0, 0, 300, 300);
    b2 = new Bitmap(300, 300, g);
}
b1.Save(@"c:\temp\test1.png", System.Drawing.Imaging.ImageFormat.Png);
b2.Save(@"c:\temp\test2.png", System.Drawing.Imaging.ImageFormat.Png);
...
Рейтинг: 0 / 0
17.11.2017, 07:01
    #39554794
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
LRИзопропил,

Тогда в b2 должна быть такая же картинка как и в b1, верно? Но это не так (да и в доке было бы совсем другое, а не однозначное "The Graphics object that specifies the resolution for the new Bitmap.")
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Bitmap b1 = new Bitmap(300, 300);
Bitmap b2 = null;
pictureBox1.Image = b1;
using (Graphics g = Graphics.FromImage(b1))
{
    g.DrawEllipse(new Pen(Color.Red, 5), 0, 0, 300, 300);
    b2 = new Bitmap(300, 300, g);
}
b1.Save(@"c:\temp\test1.png", System.Drawing.Imaging.ImageFormat.Png);
b2.Save(@"c:\temp\test2.png", System.Drawing.Imaging.ImageFormat.Png);

Нет не верно.
...
Рейтинг: 0 / 0
17.11.2017, 07:03
    #39554795
fortibransa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Я что-то не пойму ТС, что ему надо-то.

В начале топика он что-то, где-то рисует, как я понял, а потом сверху, шлеп картинку и начинает спрашивать а где то что я рисовал до этого. Ты его картинкой перекрыл.
Может сначала нарисовать картинку, а уже потом что-то еще рисовать.
...
Рейтинг: 0 / 0
17.11.2017, 10:53
    #39554907
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
LRТогда в b2 должна быть такая же картинка как и в b1, верно?
никак нет

Graphics.FromImage - создаёт контекст и выбирает Image как поверхность для рисования
Bitmap(300, 300, g) - просто создаёт битмап и копирует их контекста некоторые атрибуты - совершенно различные действия

----------------------------------
System.Drawing - это управляемая оболочка над GDI+ , который является надстройкой над GDI
(в GDI с прозрачностью очень плохо дела обстоят, да и тяжкое наследие времён Windows 1.0 даёт о себе знать)
...
Рейтинг: 0 / 0
17.11.2017, 14:23
    #39555089
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
Изопропил,

хм... тогда непонятно о чем было это замечание...
ИзопропилLRВ данном случае параметр graphics - всего лишь инфа о разрешении.
вообще-то memory device context
моя фраза относилась к
roleksПробовал
Bitmap b = new Bitmap(300, 300, graphics);
возможно особенность форматирования сообщений (пустая строка после цитаты) привела к недопониманию?
...
Рейтинг: 0 / 0
17.11.2017, 14:27
    #39555093
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
roleksПробовал
Bitmap b = new Bitmap(300, 300, graphics);
к предмету топика отношения не имеет - это я имел ввиду
...
Рейтинг: 0 / 0
17.11.2017, 14:31
    #39555096
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Graphics преобразовать в Bitmap
refregКак имея карандаш, получить картинку, которую он недавно нарисовал?
тут скорее не карандаш, а некая каретка, в которую вставляются карандаши, заливаются чернила,
монтируются лазеры.

Правда каретка устанавливается на некоторое устройство и в этото устройство загружается носитель (бумага)
в некоторые моменты времени имея доступ к каретке, можно и до бумаги добраться.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как Graphics преобразовать в Bitmap / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]