Как считать дату съёмки из фотографии - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Хочу написать Функцию, которая задаст в качестве даты создания файла дату съёмки. Мне удалось получить дату съёмки как String, но вот перевести её в Date не предоставляется возможным. Как вариант, преобразовать свойство PropertyItem из массива Byte(20) в Date, но тут я даже понятия не имею, что делать. Вот мой код:
Подскажите, пожалуйста!

Решение задачи: «Как считать дату съёмки из фотографии»

textual
Листинг программы
    Private Sub SetCaptureDateAsCreationDate(ByVal PhotoFiles As String())
 
        Dim CaptureDate As String
        Dim Photo As Image
        Const DATE_TAKEN As Integer = &H9003
 
        For Each SinglePhotoFile In PhotoFiles
 
            Photo = Image.FromFile(SinglePhotoFile)
 
            If Photo.PropertyIdList.Contains(DATE_TAKEN) Then
                Dim DateProp As Imaging.PropertyItem
                DateProp = Photo.GetPropertyItem(DATE_TAKEN)
                CaptureDate = Encoding.UTF8.GetString(DateProp.Value)
                FormatStringDate(CaptureDate)
                Photo.Dispose()
                File.SetCreationTime(SinglePhotoFile, CaptureDate)
            End If
 
        Next
    End Sub
 
    Sub FormatStringDate(ByRef StringDate As String)
 
        Dim SeparateDateTime(1) As String
        SeparateDateTime = StringDate.Split()
 
        Dim SeparateYMD(2) As String
        SeparateYMD = SeparateDateTime(0).Split(":")
        SeparateYMD.Reverse.ToArray()
 
        SeparateDateTime(0) = Join(SeparateYMD, ".")
 
        StringDate = Join(SeparateDateTime, " ")
 
    End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.286 из 5
Похожие ответы