Vb6 - Forminhalt als Bild speicher
lima-city → Forum → Programmiersprachen → Basic
all
befehl
code
dokument
eigene bilder
eigenschaft
fehler
fenster
folgendem code
form
formular
gespeichert beitrag
hintergrundfarbe
image
jetziges projekt
limit
minute
radius
setzen
speichern
-
Möchte den Inhalt eines Form-Fensters als Bitmap speichern.
Vor dem Speicherbefehl habe ich mit folgendem Code etwas in das Fenster gezeichnet:
Line (a, b)-Step(c, d), RGB(fr, fg, fb), BF
Im Anschluss soll das Programm über einen Speicher-Button das gemalte als Bitmap abspeichern:
SavePicture Image, "C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder/" & "Bild" & Hour(Now) & Minute(Now) & Second(Now) & ".bmp"
Der Befehl funktioniert in soweit, als dass im angegebenen Verzeichnis eine Bilddatei mit dem angegebenen Namen erstellt wird. Allerdings sind darin lediglich Größe und Hintergrundfarbe der Form zu sehen, nicht aber das gezeichnete.
Was könnte ich falsch gemacht haben?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hier mal ein Beispiel aus der MSDN für VB 6:
Private Sub ButtonPaint_Click() Dim CX, CY, Limit, Radius As Integer Me.ScaleMode = vbPixels Me.AutoRedraw = -1 Me.Width = Me.Height CX = Me.ScaleWidth / 2 CY = Me.ScaleHeight / 2 Limit = CX For Radius = 0 To Limit Circle (CX, CY), Radius, RGB(Rnd * 255, Rnd * 255, Rnd * 255) Next Radius MsgBox "Wählen Sie 'OK', um die Grafik in diesem Formular in einer Bitmap-Datei zu speichern." SavePicture Me.Image, "C:\\\Test.bmp" End Sub
...und schon werden alle gezeichneten Grafiken auf der Formoberfläche in einer Bilddatei gespeichert.
Beitrag geändert: 26.8.2008 17:59:16 von cbhp -
Danke für den Tipp, aber die Hilfebibliothek habe ich auch. Habe mich ziemlich lange mit dieser auseinandergesetzt und den Fehler trotzdem nicht gefunden.
Die Befehle "SavePicture Me.Image" und "SavePicture Image" bewirken im Übrigen das Selbe. Nur falls diesen Unterschied noch jemand bemerkt. :)
Ich vermute, dass ich bei den Eigenschaften des Formulares irgendetwas verstellt habe, was das Speichern der enthaltenen Elemente verhindert, aber was? -
Na wie wärs dann einfach mal ein neues Formular zu erstellen und den Code damit zu testen?
-
Das der Code in einem neuen Formular funktioniert ist mir klar, aber ich wollte es gerne in mein jetziges Projekt einbinden, ohne den Formularcode neu schreiben zu müssen...
Wenn ich den Code der Hilfedatei in ein neues Formular kopiere und anschließend meinen Code reinkopiere, funktioniert das ganze wieder nicht. (Was im Übrigen darauf hindeutet, dass es doch nicht an irgendwelchen verstellten Eigenschaften sondern am Code liegt)
Ich werde mich jetzt aber daran setzen, das Ganze neu zu schreiben und hoffen, dass ich dabei auf den Fehler stoße. -
Endlich fertig!
Der Fehler wäre jetzt auch gefunden:
Ich habe vergessen die Autoredraw-Eigenschaft auf -1 zu setzen...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage