---
title: "Spara bild ifrån pictureBox"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/84855-spara-bild-ifrån-picturebox"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Mc Fetto"
published: "2003-08-30T16:09:43.000Z"
updated: "2003-09-03T21:11:31.000Z"
replies: 8
views: 400
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/84855-spara-bild-ifrån-picturebox"
---

# Spara bild ifrån pictureBox

## #1 — Mc Fetto, 2003-08-30T16:09Z

Jag ska försöka spara en bild ifrån en pictureBox men jag vet tji hur jag ska göra. Någon som vet hur man kan göra?
Det ska göras i VB.NET och jag har löst inläsningen till pictureboxen på följande sätt:

```
    Private Sub open()
        OpenFileDialog.Filter = "bmp Files |*.bmp"
        OpenFileDialog.ShowDialog()

        If OpenFileDialog.FileName <> "" Then
            Try
                Dim myBitmap As New Bitmap(OpenFileDialog.FileName)
                Dim gr As Graphics = PictureBox.CreateGraphics
                gr.DrawImage(myBitmap, 1, 1)
            Catch
                MsgBox("File not found.", , Me.Text)
            End Try
        End If
    End Sub
```

Permalänk: https://www.webforum.nu/p/84855

## #2 — JohanLindfors, 2003-08-30T20:00Z

Om du kan ändra din metod för att läsa av en Bitmap från fil till:

```
    Private Sub open()
        OpenFileDialog.Filter = "bmp Files |*.bmp"
        OpenFileDialog.ShowDialog()

        If OpenFileDialog.FileName <> "" Then
            Try
                PictureBox.Image = New Bitmap(OpenFileDialog.FileName)
            Catch
                MsgBox("File not found.", , Me.Text)
            End Try
        End If
    End Sub
```

Så kan du sedan spara bilden med:

```
PictureBox.Image.Save(<filnamn>)
```

Skulle det fungera?

Permalänk: https://www.webforum.nu/p/1145320

## #3 — Mc Fetto, 2003-08-31T07:21Z

Jag får ut medelande ifrån catch...
Vet inte vad det skulle kunna vara!

Permalänk: https://www.webforum.nu/p/1145446

## #4 — renholm, 2003-08-31T09:12Z

Ta bort try satsen så får du ut ett meddelande som gör att du kan felsöka i stället för att gissa :)

Permalänk: https://www.webforum.nu/p/1145494

## #5 — Mc Fetto, 2003-08-31T10:15Z

Följande felmedelande:

```
 An unhandled exception of type 'System.NullReferenceException' occurred in Rit - Editor.exe

Additional information: Object reference not set to an instance of an object.
```

 

på denna raden:

```
 PictureBox.Image.Save("lasse.png")
```

Permalänk: https://www.webforum.nu/p/1145549

## #6 — renholm, 2003-08-31T17:25Z

Skulle du kunna skicka med lite mer kod, verkar vara som så att PictureBox inte är instansierat.

Permalänk: https://www.webforum.nu/p/1145780

## #7 — Mc Fetto, 2003-08-31T20:05Z

Hm, det verkar som detta felmedelande endast kommer då jag ritar i pictureBoxen och vill spara. För om jag laddar in en fil till pictureboxen och sparar den med annat namn så funkar det!

```
        'PictureBox
        '
        Me.PictureBox.BackColor = System.Drawing.SystemColors.Window
        Me.PictureBox.ContextMenu = Me.ContextMenu1
        Me.PictureBox.Location = New System.Drawing.Point(0, -8)
        Me.PictureBox.Name = "PictureBox"
        Me.PictureBox.Size = New System.Drawing.Size(560, 416)
        Me.PictureBox.TabIndex = 0
        Me.PictureBox.TabStop = False
```

 

I ritfunktionen:

```
    Private Sub Draw(ByVal e As System.Windows.Forms.MouseEventArgs)
        Dim g As Graphics = PictureBox.CreateGraphics
        Dim Loc As Point = New Point(Mouse_X, Mouse_Y)

        If (WhatObjekt = "Rectangle") Then
            Dim sz As Size = New Size(e.X - Mouse_X, e.Y - Mouse_Y)
            Dim rect As Rectangle = New Rectangle(Loc, sz)
            If (MenuFill.Checked) Then
                g.FillRectangle(myBrush, rect)
            Else
                g.DrawRectangle(pen, rect)
            End If
```

Save funktionen:

```
     Public Sub Save()
        SaveFileDialog.Filter = "bmp Files |*.bmp"
        'SaveFileDialog.InitialDirectory = SaveFileDialog.GetCurrentDirectory
        SaveFileDialog.ShowDialog()
        'if Cancel button is not selected, load file
        If SaveFileDialog.FileName <> "" Then
            'Try
            Dim myBitmap As New Bitmap(PictureBox.Image)

            myBitmap.Save(SaveFileDialog.FileName)

            'Catch
            ' MsgBox("Some problem, retry!", , Me.Text)
            'End Try
        End If
    End Sub
```

Permalänk: https://www.webforum.nu/p/1145843

## #8 — JohanLindfors, 2003-09-03T12:11Z

Problemet är att när du väljer att "bara" rita på "pictureboxen" så har du inte instansiserat något objekt i egenskapen .Image. Det sker dock om du laddar in en bild från disk osv...

Mitt förslag ovan kvarstår!

Mvh

JohanL

Permalänk: https://www.webforum.nu/p/1147442

## #9 — Mc Fetto, 2003-09-03T21:11Z

Tack det var där problemet låg, hade lite svårt att få rätsida på det men nu fungerar det! :D

Permalänk: https://www.webforum.nu/p/1147710

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/84855-spara-bild-ifrån-picturebox
