Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [VB.NET] aggiungere un metadato ad una immagine jpg

    Ho provato a copiare i metadati da una immagine ad un'altra, modificando il tag 0x131 software.

    codice:
            For Each p As PropertyItem In bmp.PropertyItems
                If p.Id = &H131 Then
                    p.Value = l.StringToBytes("Libreria" & vbNullChar, Encoding.ASCII)
                    p.Len = p.Value.Length
                    bmp1.SetPropertyItem(p)
                Else
                    bmp1.SetPropertyItem(p)
                End If
    
            Next
    Il problema sorge quando l'immagine di partenza non ha metadati.
    Questo codice non funziona "classe PropertyItem Friend"

    Dim p1 As New System.Drawing.Imaging.PropertyItem()
    p1.Id = &H131
    p1.Type = 2

    Mi date qualche suggerimento?
    Pietro

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,537
    Ciao Pietro,

    codice:
    Dim imm As Image = Image.FromFile(@"C:\miacartella\SenzaTag.jpg")
    Dim tag = imm.PropertyItems.FirstOrDefault(Function(w) w.Id = &H131)
    If tag Is Nothing Then
        Dim mType = GetType(PropertyItem)
        Dim ctor = mType.GetConstructor(BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.[Public], Nothing, New Type() {}, Nothing)
        tag = DirectCast(ctor.Invoke(Nothing), PropertyItem)
    End If
    Dim text As String = "Libreria" & Char.MinValue
    tag.Id = &H131
    tag.Len = text.Length
    tag.Type = 2
    tag.Value = Encoding.UTF8.GetBytes(text)
    imm.SetPropertyItem(tag)
    imm.Save("C:\miacartella\conTag.jpg")


  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti ringrazio. Lo studierò con attenzione.

    Ciao
    Pietro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.