Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: Сохранить содержимое PictureBox в файл. Добавлено: 04.01.09 03:29  

Автор вопроса:  Памидорко | Web-сайт: 2hl.net.ru | ICQ:

Ответить

  Ответы Всего ответов: 29  

Номер ответа: 16
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #16 Добавлено: 04.01.09 21:06
http://msdn.microsoft.com/ru-ru/library/htd05whh(en-us,vs.80).aspx

Ответить

Номер ответа: 17
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #17
Добавлено: 04.01.09 21:24
Памидорко пишет:
а тебе что, школьных предметов мало?

предметы предметами, а курсач писать надо...

А что, в школах уже курсовые пишут!? 0_o

Ответить

Номер ответа: 18
Автор ответа:
 Фeнягz



Вопросов: 2
Ответов: 62
 Web-сайт: atauenis.narod.ru
 Профиль | | #18
Добавлено: 05.01.09 01:12
EROS пишет:
ЯЯЯ, а нафига эти извращения с API в данном случае???


Тогда будет работать не только в 2005. Я например 2003 пользуюсь если подключен к сети, там Net Framework 1.0-1.1 и Graphics.Image - нет.

Ответить

Номер ответа: 19
Автор ответа:
 Памидорко



ICQ:

Вопросов: 5
Ответов: 17
 Web-сайт: 2hl.net.ru
 Профиль | | #19
Добавлено: 05.01.09 01:32
А что, в школах уже курсовые пишут!? 0_o

Вообще-то, да. Мы в 10-ом классе писали... и теперь вот в 11-ом...
По математике, но в качестве практики программа...

Ответить

Номер ответа: 20
Автор ответа:
 Памидорко



ICQ:

Вопросов: 5
Ответов: 17
 Web-сайт: 2hl.net.ru
 Профиль | | #20
Добавлено: 05.01.09 01:42
А что, в школах уже курсовые пишут!? 0_o

Вообще-то, да. Мы в 10-ом классе писали... и теперь вот в 11-ом...
По математике, но в качестве практики программа...

Ответить

Номер ответа: 21
Автор ответа:
 Памидорко



ICQ:

Вопросов: 5
Ответов: 17
 Web-сайт: 2hl.net.ru
 Профиль | | #21
Добавлено: 05.01.09 03:31
сетевой лаг... как удалить лишнее сообщение?

Ответить

Номер ответа: 22
Автор ответа:
 Фeнягz



Вопросов: 2
Ответов: 62
 Web-сайт: atauenis.narod.ru
 Профиль | | #22
Добавлено: 05.01.09 05:02
ЯЯЯ пишет:
EROS пишет:
ЯЯЯ, а нафига эти извращения с API в данном случае???


Тогда будет работать не только в 2005. Я например 2003 пользуюсь если подключен к сети, там Net Framework 1.0-1.1 и Graphics.Image - нет.


Хотя и в 2.0 - Graphics.Image - тоже Net. Не, то я просто не упражняюсь в сохранении содержимого PictureBox в файлы. Хотя было дело.

Ответить

Номер ответа: 23
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #23 Добавлено: 05.01.09 12:04
Тогда будет работать не только в 2005. Я например 2003 пользуюсь если подключен к сети, там Net Framework 1.0-1.1 и Graphics.Image - нет.

ЯЯЯ, дружище.. ты пургу тут гонишь! Этот код будет работать в любой версии FW! И судя по документации метод Graphics.FromImage(System.Drawing.Image) существует с рождества христова..
Version Information
.NET Framework
Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework
Supported in: 3.5, 2.0, 1.0

Ответить

Номер ответа: 24
Автор ответа:
 Фeнягz



Вопросов: 2
Ответов: 62
 Web-сайт: atauenis.narod.ru
 Профиль | | #24
Добавлено: 06.01.09 01:13
EROS пишет:
метод Graphics.FromImage(System.Drawing.Image) существует с рождества христова..


Да не за Graphics.FromImage идёт речь. Либо то показалось просто ... - за псевдо свойство Image объекта Graphics.

Ответить

Номер ответа: 25
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #25 Добавлено: 06.01.09 02:48
за псевдо свойство Image объекта Graphics

хм.. что то я не догоняю о каком псевдо свойстве идет речь? Насколько я знаю у Graphics нет никакого свойства Image..
Поясни плиз свою мысль, а то я как то неуютно себя начинаю чувствовать.. Либо я туплю, либо ты чушь несёшь.
Ты рисуешь на голом PictureBox, затем с этого контекста через API переносишь на Bitmap и его сохраняешь. Я бы понял твои извращения c API в том случае, если бы пришлось рисовать на объекте у которого нету свойства Image и нету Paint, но нафига они в этом, конкретном случае? Чисто ради понтов?
К тому же ты утверждаешь, что предложенный мною вариант не будет работать в ранних версиях FW.
Уважаемый, я требую сатисфакции!!! Иначе - к барьеру!

Ответить

Номер ответа: 26
Автор ответа:
 Фeнягz



Вопросов: 2
Ответов: 62
 Web-сайт: atauenis.narod.ru
 Профиль | | #26
Добавлено: 06.01.09 03:41
В процессе просмотра темы, бросилось где то в глаза Graphics.Image. ... я ж за что и говорю, насколько известно мне - такого свойства у Graphics - net.

EROS пишет:
Я бы понял твои извращения c API в том случае, если бы пришлось рисовать на объекте у которого нету свойства Image и нету Paint, но нафига они в этом, конкретном случае? Чисто ради понтов?


Тема то зовется "Сохранить содержимое PictureBox в изображение". Ну а если изображения в PictureBox - просто net?! А если нужно нечто подобное проделать с другим (своим каким нибудь) элементом. Хотя есть кажется метод ToBitmap у любого объекта, наследующего от Control.

Считай, то загнался я просто с Graphics.Image. :d Показалось.

Ответить

Номер ответа: 27
Автор ответа:
 Памидорко



ICQ:

Вопросов: 5
Ответов: 17
 Web-сайт: 2hl.net.ru
 Профиль | | #27
Добавлено: 13.01.09 04:48
Вот как у меня в итоге получилось.

  1. Public Class Form1
  2.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  3.  
  4.         Dim bitmap As New Bitmap(PictureBox1.Width, PictureBox1.Height)
  5.         Dim returnValue As Graphics
  6.         returnValue = Graphics.FromImage(bitmap) 'самая мозгопарная строчка
  7.  
  8.         returnValue.Clear(Color.Black) 'заливаем нашу картинку цветом
  9.  
  10.         'рисуем что-нибудь, напрмер прямоугольник
  11.         returnValue.DrawRectangle(Pens.Aqua, 10, 10, 50, 50)
  12.  
  13.         PictureBox1.Image = bitmap 'показываем в пикчурбоксе
  14.  
  15.         PictureBox1.Image.Save("c:\temp.jpg", System.Drawing.Imaging.ImageFormat.Jpeg) 'сохраняем в файл
  16.  
  17.     End Sub
  18. End Class

Ответить

Номер ответа: 28
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #28 Добавлено: 13.01.09 14:37
Вот как у меня в итоге получилось.

это ты типа хвастаешься? ))))

в принципе, код рабочий, но есть одно НО!
ты не удалил объект Graphics(в твоем случае это - returnValue.. странное название переменной, но да ладно.. это твое дело) после работы. Если ты обратил внимание, то я в своем коде использовал директиву Using, именно она освобождает занимаемую им память.. Поскольку ты не захотел ее использовать, то ты обязан в конце процедуры вызвать returnValue.Dispose(), чтобы убрать после себя мусор.

Ответить

Номер ответа: 29
Автор ответа:
 Памидорко



ICQ:

Вопросов: 5
Ответов: 17
 Web-сайт: 2hl.net.ru
 Профиль | | #29
Добавлено: 18.01.09 08:38
EROS пишет:
это ты типа хвастаешься? ))))


нет. это я на случай, что кто-то сюда зайдет ища ответ на такой же вопрос)))

EROS пишет:
то ты обязан в конце процедуры вызвать


будем знать... а то я еще не совсем тут все понимаю


EROS пишет:
returnValue.. странное название переменной


Основная часть кода была вытащена с http://msdn.microsoft.com/ru-ru

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам