Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [iptc]

  1. #1

    [iptc]

    Ciao a tutti sono di nuovo qui con un quesito abbastanza strano (per me, intendo)...

    partendo da una immagine ho bisogno di prenderla, cambiargli gli IPTC(le info credo sie chiamino cosi) e risalvarla.....
    inanzitutto è possibile scriverli su una immagine?

    se si, mi date una mano su come impostare il lavoro??? aiutoooo vi prego



    grazie come sempre

  2. #2

  3. #3

  4. #4
    credo di aver trovato piu o meno.....intendevo sovrascrivere gli exif ma su php.net ho trovato solo funzioni per leggere ma niente per sovrascriverle.....mi potete aiutare???

  5. #5
    ok
    grazie a tutti....ma ho piu o meno risolto....

    (anche se lo avete gia scritto in altri 3d)

    per chi dovesse avere bisogno di scrivere/leggere/modificare gli exif, iptc, o qualsiasi altra informazione sui file ci sono delle librerie fatte apposta tipo:

    -http://www.ozhiker.com/electronics/pjmt/
    -http://pel.sourceforge.net/



    non voglio fare pubblicita a nessuno....e poi tanto le danno sotto licenza gratuita....e cmq sono veramente fatte bene...

    ciao a tutti

  6. #6
    ok...sono di nuovo qui.....problema risolto del tutto con l'altro script adesso mi servirebbe una mano per questo....

    è uno script per il cambio degli iptc nelle immagini

    Codice PHP:
    <?php
    $inizio 
    microtime(true); 

    $image_name_old "test.jpg";
    $image_name_new "test2.jpg";

    $size GetImageSize("$image_name_old",&$info);
    $iptc_old iptcparse($info["APP13"]);

    // Adding or replacing IPTC text
       // This ex. replace the original category or create it if it dos not exist
       
    $iptc_old["2#005"][0] = "Object Name";
       
    $iptc_old["2#015"][0] = "Category: Categoria di prova";
       
    $iptc_old["2#025"][0] = "Keywords1\nKeywords2\nKeywords3\n";
       
    $iptc_old["2#055"][0] = "20080131";
       
    $iptc_old["2#090"][0] = "Citta";
       
    $iptc_old["2#095"][0] = "Stato";
       
    $iptc_old["2#105"][0] = "Headline";
       
    $iptc_old["2#116"][0] = "Copyright";
       
    $iptc_old["2#120"][0] = "More caption text";
       
    // Making the new IPTC string
       
    foreach (array_keys($iptc_old) as $s)
       {
          
    // Finds the IPTC numbers
          
    $tag str_replace("2#"""$s);
          
    // Creating the string
          
    $iptc_new .= iptc_maketag(2$tag$iptc_old[$s][0]);
       }

    // The original file and the new IPTC Text into $content
    // Mode 0 - puts the image file into $content
    // Mode 1 - puts the image file into $content and directly to the web client
    // Mode 2 - puts the image file to web client
    $mode 0;
    $content iptcembed($iptc_new$image_name_new$mode);

    $fp fopen($image_name_new"w");
    fwrite($fp$content);
    fclose($fp);

    // Function to format the new IPTC text, (thanks to Thies C. Arntzen)
    function iptc_maketag($rec,$dat,$val){
             
    $len strlen($val);
             if (
    $len 0x8000)
                      return 
    chr(0x1c).chr($rec).chr($dat).
                      
    chr($len >> 8).
                      
    chr($len 0xff).
                      
    $val;
             else
                      return 
    chr(0x1c).chr($rec).chr($dat).
                      
    chr(0x80).chr(0x04).
                      
    chr(($len >> 24) & 0xff).
                      
    chr(($len >> 16) & 0xff).
                      
    chr(($len >> ) & 0xff).
                      
    chr(($len ) & 0xff).
                      
    $val;
    }
    function 
    output_iptc_data($image_path
    {   
        
    $size getimagesize($image_path$info);       
         if(
    is_array($info)) 
         {   
            
    $iptc iptcparse($info["APP13"]);
            foreach(
    array_keys($iptc) as $s
            {             
                
    $c count($iptc[$s]);
                for(
    $i=0$i <$c$i++)
                {
                    echo 
    $s." = ".$iptc[$s][$i]."
    "
    ;
                }
            }                 
        }            
    }
    output_iptc_data($image_name_new);  
    echo 
    "<a href=\"$image_name_new\" >Img</a>";



    ?>

    Ok, questo era il codice.
    Questo è il problema:

    quando leggo l'immagine la prima volta legge tutto quello che c'è scritto (cioè niente, o quasi ), dopo prende le scritte che gli ho dato io e le scrive sull'immagine (e tutto bene), dopo salvo l'immagine sul pc e la vado ad aprire con photoshop e le info non ci sono....perche???
    pensavo che non le scrivesse, ed ho fatto una prova...adesso legge, scrive e rilegge...e stampa a video le cose giuste, come se l'immagine fosse stata scritta correttamente...allora le cose che ho scritto sono incompatibili con photoshop?!?
    uffa.....qualcuno mi può aiutare???

    lo script è quello della pagina it.php.net/....../iptcembed.php (oppure era iptcparse?!?)

  7. #7
    ho aperto, in modalità esadecimale, la foto di cui photoshop riesce a leggere le info e ci sono dei Tag a mò di HTML tipo:

    <photoshopateCreated>2008:01:01</photoshopateCreated>

    ho provato a modificare la mia foto con quei tag ma non la riesce a leggere lo stesso....aiutoooooo (------l'ultima è una crisi isterica)
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  8. #8
    uppino


    non c'è nessuno che mi sappia aiutare?
    almeno un messaggio di consolazione, qualcosa....
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  9. #9
    ok ho risolto anche questo

    il problema era che photoshop legge prima gli XMP e finche ci sono loro non legge altro...

    quindi bastava cancellarli
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  10. #10
    Salve... non so se è attinente al thread...

    Sto cercando un modo per cercare, tra le foto presenti in un sito, le singole foto a cui corrispondono dei dati iptc inseriti tramite un form...
    Ho cercato qualcosa di già "confezionato" ma (felice di essere smentito..) ho trovato solo roba che fa molto di più e non molto personalizzabile.

    Vorrei intanto capire come leggere i dati iptc di una foto, dopodiché, se possibile, pensare a come leggere gli iptc di tante foto e fare la ricerca su essi...

    grazie

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.