Язык Visual Basic на платформе .NET.
Модераторы: Ramzes, Sebas
-
MAGRAV
-
- Новичок
-
-
- Сообщения: 41
- Зарегистрирован: 27.01.2011 (Чт) 11:57
MAGRAV » 03.06.2011 (Пт) 11:29
Никак не могу сохранить диаграмму нарисованную в PictureBox!
Пробовал различные варианты. Неизменно выдаётся ошибка: "Не заданна ссылка на обьект".
Вот пример кода:
- Код: Выделить всё
SaveFileDialog1.Filter = "Изображение PictureBox| *.bmp"
SaveFileDialog1.Title = "Сохранение PictureBox.Image как BMP"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
Dim Image As Bitmap = PictureBox1.Image
Dim fs As System.IO.FileStream = CType(SaveFileDialog1.OpenFile(), System.IO.FileStream)
Image.Save(fs, System.Drawing.Imaging.ImageFormat.Gif)
fs.Close()
End If
Уходя с аэродрома прихвати деталь для дома.
-
1Steps
-
- Постоялец
-
-
- Сообщения: 505
- Зарегистрирован: 20.12.2006 (Ср) 0:50
- Откуда: New York
1Steps » 04.06.2011 (Сб) 14:37
MAGRAV писал(а):Никак не могу сохранить диаграмму нарисованную в PictureBox!
И не сможешь.
1.Нарисовать её надо на Bitmap-е(а не на PictureBox).
2.Bitmap присвоить свойству Image у PictureBox-а.
Удалена за ненадобностью.
-
MAGRAV
-
- Новичок
-
-
- Сообщения: 41
- Зарегистрирован: 27.01.2011 (Чт) 11:57
MAGRAV » 06.06.2011 (Пн) 6:01
Спасибо за совет! К счастию сам додумался как делать!
- Код: Выделить всё
Dim Graphics As System.Drawing.Graphics
Dim Image As System.Drawing.Bitmap
Dim Pen As System.Drawing.Pen
Dim Brush As System.Drawing.SolidBrush
Dim MyFont As System.Drawing.Font
Dim DrawSaveImage()
SaveFileDialog1.Filter = "Изображение PictureBox| *.bmp"
SaveFileDialog1.Title = "Сохранение PictureBox.Image как BMP"
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then
Dim fs As System.IO.FileStream = CType(SaveFileDialog1.OpenFile(), System.IO.FileStream)
Image = New System.Drawing.Bitmap(PictureBox1.Width, PictureBox1.Height)
Graphics = System.Drawing.Graphics.FromImage(Image)
Graphics.FillRectangle(Brushes.White, 0, 0, PictureBox1.Width, PictureBox1.Height)
'Graphics.PageUnit = GraphicsUnit.Millimeter
Pen = New System.Drawing.Pen(Color.Black, 0.2)
'Рисуем чего то там....Например:
Pen.Width = 1
Graphics.DrawLine(Pens.DodgerBlue, Convert.ToSingle(X), Convert.ToSingle(Y1), Convert.ToSingle(X), Convert.ToSingle(Y2)) 'Основная линия с шагом по X
Graphics.DrawString(Convert.ToString(i_x), New Font("Arial", 10), Brushes.Black, Convert.ToSingle(FormatX(AAA, i_x, celX_min, celX_max)), Convert.ToSingle(FormatY(AAA, celY_min, celY_min, celY_max)))
PictureBox1.Image = Image
Image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg)
fs.Close()
End If
Уходя с аэродрома прихвати деталь для дома.
Вернуться в Visual Basic .NET
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19