ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1782
1782
EMPFEHLEN
-
25.08.09 10:11 #1
- Registriert seit
- Aug 2005
- Beiträge
- 256
Hallo zusammen,
Ich habe aus einem SDK folgende Funktion:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Private Sub Draw() Dim hDCHelp As Integer Dim hDC As IntPtr Dim DC As Graphics Dim DrawPen As New Pen(Color.White, 3) Try hDCHelp = m_GDIOverlay.GetDC() hDC = New IntPtr(hDCHelp) DC = Graphics.FromHdc(hDC) DC.DrawLine(DrawPen, m_StartPoint, m_EndPoint) Dim Test As Bitmap = New Bitmap(640, 480) Test = Bitmap.FromHbitmap(hDC) 'Test.Save("C:\Test.bmp") m_GDIOverlay.ReleaseDC(hDCHelp) Catch ex As Exception MsgBox("Fehler: " & ex.Message) End Try
Ich habe leider keine andere Möglichkeit auf das Bild zuzugreifen, als dies über das Graphics Objekt zu tun. Um nun was mit dem Bild anfangen zu können, will ich dieses wieder in ein Bitmap umwandeln. Testweise speichere ich das Bild auf der Festplatte, um ein Ergebnis zu sehen.
Das Problem ist jetzt, dass die Fehlermeldung "Allgemeiner Fehler in der GDI+" ausgegeben wird.
Weiß jemand, wie ich aus dem HDC ein Bitmap erzeugen kann?
Danke im vorraus!
Gruß David
-
Edit: ah sorry ich hatte die vorletzte Zeile uberlesen. Probier mal die Basis-Fehlermeldung mit GetBaseException auszulesen, damit wir schlauer werden, was der eigentliche Fehler ist:Code vbnet:
1
Dim bmp As New Bitmap(640, 480, DC)
Code vbnet:1 2 3 4 5 6 7
Try Dim Test As Bitmap = New Bitmap(640, 480) Test = Bitmap.FromHbitmap(hDC) Test.Save("C:\Test.bmp") Catch ex As Exception MessageBox.Show(ex.GetBaseException.ToString) End Try
Geändert von Shakie (03.09.09 um 16:55 Uhr)
hihi = -h²
-
03.09.09 17:41 #3
- Registriert seit
- Aug 2005
- Beiträge
- 256
Habe zuerst einmal in das das DC in die New Bitmap Funktion eingefügt. Dann tritt schon kein Fehler mehr auf. Leider ist das gespeicherte Bild einfach nur ein leeres Bitmap, also recht nutzlos. Vielleicht lässt sich da ja noch was dran ändern

Wenn ich die Fehlermeldung wie geschrieben auslese, kommt folgendes heraus (Also bei der von mir geposteten Draw-Funktion):
Zeile 810 hat übrigens den Befehl hier: Test = Bitmap.FromHbitmap(hDC)
Ähnliche Themen
-
Bitmap erzeugen mit C++
Von the_undertaker im Forum C/C++Antworten: 26Letzter Beitrag: 12.04.07, 19:47 -
Graphics Objekt - schneller zeichnen?
Von MichiStroi im Forum .NET Grafik und SoundAntworten: 1Letzter Beitrag: 31.10.06, 08:51 -
Graphics in Bitmap und Metafile konvertieren
Von MichiStroi im Forum .NET Grafik und SoundAntworten: 2Letzter Beitrag: 15.10.05, 21:18 -
Bitmap mit C++ erzeugen
Von sub im Forum C/C++Antworten: 5Letzter Beitrag: 04.01.05, 08:53 -
Graphics objekt sauber in Variable kopieren
Von Schnubbel im Forum JavaAntworten: 3Letzter Beitrag: 08.06.04, 00:45





Zitieren
Login





