Datum und Zeit in einem Bild einer PictureBox einfügen

  • VB6

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Neptun.

    Hallo Hadinius,
    probier's mal so:

    Visual Basic-Quellcode

    1. '
    2. Dim Ziel As PictureBox
    3. Set Ziel = Picture1 ' Name der PictureBox
    4. With Ziel
    5. .ScaleMode = vbPixels
    6. .FontSize = 14
    7. .FontBold = True
    8. .FontName = "Courier New"
    9. .FontTransparent = True
    10. .ForeColor = vbWhite ' Textfarbe
    11. .AutoRedraw = True
    12. .CurrentX = 50
    13. .CurrentY = 30
    14. Ziel.Print Now
    15. ' wenn die Grafik in die Picture-Eigenschaft soll:
    16. ' Set .Picture = .Image
    17. ' .Cls
    18. ' .AutoRedraw = False
    19. End With
    20. Set Ziel = Nothing
    Gruss,

    Neptun

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Neptun“ ()

    Datum und Zeit in einem Bild einer PictureBox einfügen

    Hadinius schrieb:

    Hallo Neptun :)

    Danke für die Hilfe, genau richtig. :thumbup:

    Hadinius :)

    Hadinius schrieb:

    Hallo Neptun :)

    Danke für die Hilfe, genau richtig. :thumbup:

    Hadinius :)
    Hallo

    Wie gesagt der Tip war genau das richtige :thumbup:

    Mit dem Image Befehl habe ich jetzt Datum und Zeit ,auf dem Bild von der Webcam Foto.

    Jetzt habe ich aber bemerkt das Iage mir das Foto verkleinert(Orginal 640x480 jetzt 613x317).
    Meine Frage, muss ich bei Image mit Scale oder Strech Function arbeiten um auf die Orginal grösse zu kommen da mein Programm mit der Orginal grösse Arbeitet. ?(

    (Ich suche keinen Quellcode um wenig Arbeit zu haben, sondern auch um zu lehrnen.
    Da ich ein Programm schreibe muss ich ja den Quellcode versuchen zu verstehen und
    an meinen Programm anpassen und ein fühgen.(so lehrne ich am Besten)
    :!: :!:

    Ich bin in sachen Grafik Anfänger und habe mir,weil ich es oft im Forum gelesen habe
    (Quellcode wird nicht gegeben holt euch Bücher) schon Drei Bücher gekauft
    und jetzt noch eins aus der Bücherei geholt.
    Leider ist da mit Grafik nach Rechteck,Kreis und Line schon Schluss mit Lustig.
    Weder die Gdi32 noch Strech und andere wichtige Befehle sind zu finden.
    :cursing:
    Oder habe ich die Falschen Bücher :?: :?:

    Hadinius



    Ok jetzt geht es. :thumbsup:
    Habe bei Image die Befehle Height auf 484 und Width auf 644 gesetzt. :!:
    Warum 4 mehr :?:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Hadinius“ () aus folgendem Grund: Habe das Problem gefunden

    Neptun schrieb:

    Hallo Hadinius,
    das ist die Rahmenbreite. Entweder BorderStyle = 0, oder die Breite dazu addieren.
    Wenn der ScaleMode der Form und der Picturebox auf Pixel stehen, ergibt sich die
    Rahmenbreite aus (Picture1.Width - Picture1.ScaleWidth).
    Hallo Neptun :)

    Danke für deine schnelle Anwort (die immer wieder sehr Hilfreich sind):thumbup:




    Der erste Programm teil von meinem Programm nimmt z.b alle 10 sek. ein Bild und speichert die Kopie in einem Ordner.

    Ich habe auf der Form eine PictureBox gelegt und so gross gezogen, das
    ich sehen kann ob sich an der grösse des Bildes etwas ändert.



    Erst bei dem abgespeicherten Bild habe ich bemerkt das die Höhe
    und Breite sich geändert haben.



    Option Explicit



    Dim Video_Handle As Long

    Dim Ziel As PictureBox

    Private Sub Form_Load()



    Picture1.Visible = False

    Video_Handle = CreateCaptureWindow(Me.hwnd)



    End Sub



    Private Sub Command1_Click()



    Timer1.Interval = 1000



    End Sub



    Private Sub Command2_Click()

    Timer1.Enabled = False

    Unload Me

    End Sub







    Private Sub Timer1_Timer()



    CapturePicture Video_Handle, Picture1

    '------------------------------------------------------------------------------

    Set Ziel = Picture1 ' Name der PictureBox

    With Ziel

    .ScaleMode = vbPixels

    .FontSize = 14

    .FontBold = True

    .FontName = "Courier New"

    .FontTransparent = True

    .ForeColor = vbWhite ' Textfarbe

    .AutoRedraw = True

    .CurrentX = 50

    .CurrentY = 330

    Ziel.Print Now; "CameraID 0"



    ' wenn die Grafik in die Picture-Eigenschaft soll:

    '

    Set .Picture = .Image

    ------------Ert nach diesem eintrag ,wahr die Orginal grösse wieder da.

    .Height = 484

    .Width = 644

    --------------------------------------------------------------------

    .Cls

    .AutoRedraw = False



    End With

    Set Ziel = Nothing





    '-------------------------------------------------------------------------------

    SavePicture Picture1.Image, "c:\Demo FOESSID\BildOrdner\Test.jpg"



    End Sub



    Muss ich denn in diesem Programm teil benutzen,



    .ScaleMode = vbPixels

    .BorderStyle = 1 'vbBSNone

    .BackColor = &H8000000F 'vbWhite ' Farbe Zwischenraum

    .ScaleHeight

    .ScaleWidth



    da es doch eigentlich nichts mit Rahmenbreite zu tun hat,oder liege ich Falsch :?:

    Hadinius
    Hallo Hadinius,
    durch den Code sollte sich die Grösse der Picturebox nicht verändern,
    wobei ich nicht weiss, was CapturePicture bei dir macht. Eventuell
    steht Autosize auf True, dann wird die Picturebox der Bildgrösse
    angepasst. Füge mal diesen Code ein:

    Visual Basic-Quellcode

    1. Private Sub Form_Load()
    2. Dim Breite As Long, Hoehe As Long
    3. Breite = 640
    4. Hoehe = 480
    5. Me.ScaleMode = vbPixels
    6. With Picture1
    7. .ScaleMode = vbPixels
    8. .AutoSize = False
    9. .Width = Breite + (.Width - .ScaleWidth)
    10. .Height = Hoehe + (.Height - .ScaleHeight)
    11. End With
    12. End Sub

    Übrigens du speicherst deine Grafik mit SavePicture als Jpg. Das
    geht nicht. SavePicture kann nur im bmp-Format speichern. Das sieht
    man auch an der Dateigrösse. Speichern als Jpeg siehe hier:
    vbarchiv.net/tipps/details.php?id=1246
    Gruss,

    Neptun