Save Image in PictureBox. VB .NET 2008!

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Save Image in PictureBox. VB .NET 2008!

Сообщение 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

Re: Save Image in PictureBox. VB .NET 2008!

Сообщение 1Steps » 04.06.2011 (Сб) 14:37

MAGRAV писал(а):Никак не могу сохранить диаграмму нарисованную в PictureBox!
И не сможешь.
1.Нарисовать её надо на Bitmap-е(а не на PictureBox).
2.Bitmap присвоить свойству Image у PictureBox-а.
Удалена за ненадобностью.

MAGRAV
Новичок
Новичок
Аватара пользователя
 
Сообщения: 41
Зарегистрирован: 27.01.2011 (Чт) 11:57

Re: Save Image in PictureBox. VB .NET 2008!

Сообщение MAGRAV » 06.06.2011 (Пн) 6:01

Спасибо за совет! К счастию сам додумался как делать! 8)

Код: Выделить всё
        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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

    TopList