1. Forum
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
    5. Trophäen
  4. Partner
  5. Kontakt
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. The-Greenleaf - Cannabis Grow Community
  2. Community
  3. Lounge
PREMIUM WERBUNG
PREMIUM WERBUNG
PREMIUM WERBUNG

PROPER exif cleaning - persönliche daten von fotos korrekt entfernen

  • MrGrower
  • 6. April 2019 um 01:51
  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 6. April 2019 um 01:51
    • #1

    Sehr geehrte Community,

    anscheinend entfernen einige Exif Cleaner die exif daten nicht komplett (z.B. die Kamera Seriennummer)
    Ich zum beispiel wurde durch einen Moderator der Community angeschrieben, dass meine bilder noch die Kamera Seriennummer enthalten. Wenn man dann auf Facebook Bilder mit der gleichen Kamera kann man die Daten natürlich verbinden.
    Fataler weise zeigt Windows diese exif Daten nicht an, man kann es also nicht überprüfen

    Aus diesem Grund habe ich einen sehr einfachen Exif Cleaner für Windows programmiert.
    Eine Kompillierte .exe datei möchte ich aus folgenden gründen nicht hochladen:
    a) Wegen der rückverfolgung zu mir
    b) Damit ihr keine Bedenken haben müsst, dass ich einen Trojaner oder ähnliches bei euch einschleuse.

    Im folgenden eine Anleitung, wie ihr den Code zu einer ausführbaren Exe Datei kompillieren könnt:

    1. Visual Studio (Community Edition) herunterladen

    Spoiler anzeigen


    Ich weiss, das es ein wenig übertrieben sein kann, so ein grosses Programm für so ein einfaches "script" herunter zu laden. Andere Kompilierer gehen eventuell auch.
    Ansonsten einfach einen exif cleaner aus dem Internet herunterladen und überprüfen ob er auch wirklich alles löscht!!!

    https://visualstudio.microsoft.com/de/downloads/

    Die Community edition von Microsoft ist kostenlos:

    Installieren braucht ihr nur die C# funktionen


    2. Projekt erstellen

    Spoiler anzeigen


    Wundert euch nicht, dass bei mir alles schwarz ist, ich mag den Dark mode :)

    Öffnet Visual studio und erstellt ein neues projekt über "Datei"->"neu"->"projekt"
    gebt dem Projekt einen Sinnvollen Namen

    Der Projekttyp sollte "Konsolenapplikation (.Net Framework) C#" sein

    Euer Programm sollte nun etwa so aussehen:


    3. "Programmieren" / Code kopieren

    Spoiler anzeigen


    Nun "programmieren" wir, ihr könnt einfach meinen code aus post 17 einfügen
    PROPER exif cleaning - persönliche daten von fotos korrekt entfernen

    Im Code ist alles hinter den Zeichen // ein Kommentar und wird vom Kompilierer nicht beachtet. Also rein für euch zum verstehen was da im programm passiert.

    sagt dem programm welche Referenzen es verwenden soll
    Visual Studio weiss standardmässig nichts mit Bildern anzufangen.
    Hierzu muss auf der rechten seite, unter Solution Explorer auf Referenzen ein rechtsklick gemacht werden.
    Wählt dort Referenz hinzufügen...

    Im Referenzmanager müssen links oben Assemblies ausgewählt werden. danach rechts oben nach System.Drawing suchen und hinzufügen.

    kopiert den folgenden code und ersetzt damit den kompletten inhalt des Programms:
    EDIT: Code in post 17 verschoben wegen zeichenlänge

    Nun sieht es so aus. Damit seid ihr fast fertig.

    Jetzt nur noch den Namespace den Projektnamen anpassen, den ihr vorher vergeben habt.

    4. Programm zu einer Ausführbaren Datei Kompillieren

    Spoiler anzeigen


    Herzlichen Gückwunsch. Ihr seit beim letzten Schritt angelangt.

    Geht nun auf im Menü auf Build -> Build Solution 

    Wenn alles geklappt hat, seht ihr nun im unteren Teil bei output die Nachricht Build successful sowie den Dateipfad

    5. Programm ausführen
    Als erstes muss die ausführbare Datei zusammen mit Bildern in einem Ordner plaziert werden. Der Ordner darf nur die .exe Datei und Bilder enthalten.

    resultat

    Spoiler anzeigen


    Wir doppelklicken nun auf die .exe

    Anschliessend sollten die Exif Daten entfernt sein:


    Bitte stellt unbedingt sicher, dass die Daten auch entfernt worden sind!

    15 Mal editiert, zuletzt von MrGrower (21. Mai 2019 um 11:31)

  • hYgro's
    MITGLIED
    Reaktionen
    2.228
    Trophäen
    2
    Beiträge
    2.119
    • 6. April 2019 um 03:11
    • #2

    kannst du mit Screenshots noch zeigen wie das ganze dann aussieht?
    Ist da eine Mehrfachauswahl möglich?

    Wenn ich den Code richtig verstehe glaube ich leider nicht oder?
    Wär aber auch nicht schlimm, wenn der Rest simple ist :)

    Mein Code zu Bild Verständnis ist eingerostet :D

  • Antonio
    Gast
    • 6. April 2019 um 03:54
    • #3

    Welche Programme sind denn betroffen?

  • hYgro's
    MITGLIED
    Reaktionen
    2.228
    Trophäen
    2
    Beiträge
    2.119
    • 6. April 2019 um 04:11
    • #4

    eine Auflistung ist denk ich unmöglich ohne Prüfung jedes einzelnen :P

    Ich liebe für Android diese App


    details?id=org.ibeccato.photoczip

    Man muss nur unter Einstellungen etwas umstellen.

    Wer auf Spielereien am PC steht, der ist mit selbst programmieren etwas beschäftigt,doch funktioniert:)

    Kann man aber auch im einfachen Editor manuell entfernen (mein letzter Wissensstand)

  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 9. April 2019 um 08:35
    • #5

    Ich kann hier leider keine Liste machen, habe nur zwei Programme Probiert. Beide haben die Seriennummer der Kamera nicht raus bekommen. Das wirklich schlimme ist, das Windows das mit Bordmitteln nicht anzeigt. Man hat also keine leichte überprüfung.


    Zitat von hYgro's

    kannst du mit Screenshots noch zeigen wie das ganze dann aussieht?
    Ist da eine Mehrfachauswahl möglich?

    Ich schreibe denke ich noch ein Programm zur überprüfung und mache ein Tutorial, wie man diese Applikation nun Kompilieren/nutzen kann.

    Eine Mehrfachauswahl ist nicht nötig. Einfach einen Ordner erstellen und alle Bilder (habe mit jpeg getestet) zusammen mit der .exe datei einfügen.
    Die .exe Datei ausführen und alle relevanten exif Daten der Bilder im Ordner werden entfernt.

  • hYgro's
    MITGLIED
    Reaktionen
    2.228
    Trophäen
    2
    Beiträge
    2.119
    • 9. April 2019 um 08:43
    • #6

    Wäre es dann auch mit einer easy .bat möglich? (Hoffe das hieß so^^)


    Die Überprüfung wäre online über gewisse Seiten möglich, was sie doch bei sensiblen Daten immer grenzwertig ist^^


    Jedoch könnte man aus dem Quellcode entnehmen wie das ganze getestet wird ...??---> oder?^^

  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 9. April 2019 um 11:35
    • #7
    Zitat von hYgro's

    Wäre es dann auch mit einer easy .bat möglich? (Hoffe das hieß so^^)


    Die Überprüfung wäre online über gewisse Seiten möglich, was sie doch bei sensiblen Daten immer grenzwertig ist^^


    Jedoch könnte man aus dem Quellcode entnehmen wie das ganze getestet wird ...??---> oder?^^

    Mit einer .bat ist das denke ich leider nicht möglich. Man benötigt hier spezifische Funktionen für Bildbearbeitung.

    Also ich halte nichts davon die daten Online zu überprüfen. Am ende gehts noch straight in einen Honeypot. Und am handy ist mir das ganze zu umständlich, da ich die Bilder mit einer Spiegelreflexkamera schiesse und danach noch Weissabgleich etc. mit Lightroom mache.

    Wie das ganze getestet wird kannst du natürlich dem Quellcode entnehmen. Vorraussetzung ist, dass du den Quellcode verstehst. Ich habe mir jetzt allerdings grösstmögliche mühe gegeben alles zu kommentieren und ein Tutorial für einsteiger zu machen.

  • hYgro's
    MITGLIED
    Reaktionen
    2.228
    Trophäen
    2
    Beiträge
    2.119
    • 9. April 2019 um 12:49
    • #8
    Zitat von MrGrower

    Spiegelreflexkamera

    EOS 6D ?^^

  • Chamba
    MITGLIED
    Reaktionen
    468
    Trophäen
    1
    Beiträge
    254
    • 9. April 2019 um 13:22
    • #9

    Unter Linux nutze ich da jhead. Das löscht wirklich alle relevanten exif's und arbeitet auch simpel einen Ordner voller Bilder am Stück ab. Das Tool kann allerdings nur mit .jpg umgehen.

    Muss aber ehrlich sagen das ich es klasse finde wenn die Leute sich Gedanken über das Thema machen und sogar eigenständig Lösungen und Hilfen anbieten :thumbsup:

    Grüße,
    Chamba <3

  • GrowNerd
    MITGLIED
    Reaktionen
    439
    Trophäen
    1
    Beiträge
    247
    • 9. April 2019 um 21:43
    • #10

    Sau cool!

    wenn man sich das nuget Paket System.Drawing.Common läd, läuft es auch auf .NET Core 3.0. Kann das mal jemand auf macOS und Linux ausprobieren? :D

    Aber warum gibst du dem Benutzer keine Infos aus, was das Programm grade macht? Du hast so schön kommentiert, aber das Tool bleibt stumm.
    Habs noch etwas aufgemotzt und könnte das jetzt produktiv für TGL nutzen. :thumbsup:

  • PREMIUM WERBUNG
  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 9. April 2019 um 22:17
    • #11
    Zitat von GrowNerd

    Sau cool!

    Aber warum gibst du dem Benutzer keine Infos aus, was das Programm grade macht? Du hast so schön kommentiert, aber das Tool bleibt stumm. :thumbsup:

    danke :D

    Naja zunächst einmal vertraue ich meinem Code, ich brauche keinen Output :D

    Die Entstehung einer Software ist nunmal immer ein Prozess. Ich könnte jetzt natürlich auch ein fancy UI machen die frage ist halt immer Aufwand/Nutzen.
    Kommentiert habe ich zum beispiel erst, als der Wunsch von Nutzern aufkam, zu verstehen was da passiert. Also habe ich fast jede einzelne Zeile so kommentiert, dass sie hoffentlich auch von Menschen verstanden wird, die gar nichts mit programmieren am Hut haben.

    Immerhin meine Finanzmarktbots haben jetzt ein rudimentäres aber "kraftvolles" UI spendiert bekommen :thumbup:

    Vor allem aber war das einfach schnell in 5 Minuten zusammen gehackt, und dann ist mir erst eingefallen: Hey das könnte auch für andere nützlich sein. Dass das so einen Anklang findet hätte ich nie gedacht.
    aber ich hab ja auch schon geschrieben dass ich noch output plane. Da ich damit allerdings nichts verdiene und das alles good will ist, passiert das nur in meiner Freizeit wenn ich lust drauf hab. :P

    Zitat von hYgro

    EOS 6D ?^^

    - Kein Kommentar :P -

    EDIT:
    Deine Consolenoutputs fressen aber auch gehörig Leistung. Schwierig wenn man das auf nem Server laufen lassen will. Zumindest wenn man gross skaliert. ;)
    Finde es aber sehr spannend zu sehen, wie viele der properties doch genutzt werden.
    Du kannst sie ja jetzt noch nach Klarnamen auflösen und dann posten. Hab dir da schon mit Kommentaren vorgearbeitet :P .

    6 Mal editiert, zuletzt von MrGrower (9. April 2019 um 22:32)

  • GrowNerd
    MITGLIED
    Reaktionen
    439
    Trophäen
    1
    Beiträge
    247
    • 9. April 2019 um 22:34
    • #12
    Zitat von MrGrower

    Naja zunächst einmal vertraue ich meinem Code, ich brauche keinen Output

    Ich sag nur "It works on my machine"
    Wie oft ich das höre. lol01

    Trotzdem cooles Tool. Ich feile grade noch ein wenig dran rum, und dann nutze ich das nur noch hier für TGL. :thumbsup:

    Vielleicht mache ich bei Gelegenheit mal einen Pull Request ;)

    Zitat von MrGrower

    Deine Consolenoutput fressen aber auch gehörig leistung, schwierig wenn man das auf nem server laufen lassen will. Zumindest wenn man gross skaliert.

    Dann würde ich erstmal gucken ob ich den Programmfluss nicht irgendwie anders, als über try/catch machen kann. Das ist zu teuer, zumindest der catch Teil :P

    EDIT:

    Irgendwie habe bin ich grade sogar dabei in eine Forms GUI zu stecken. 8)
    Irgendwie sowas halt...

    Einmal editiert, zuletzt von GrowNerd (9. April 2019 um 22:46)

  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 9. April 2019 um 22:51
    • #13

    Das Problem ist für mich folgendes:

    - Ich möchte das ding nicht auf ein git stecken wenn du möchtest, gerne.
    - das ding soll so einfach wie möglich für newbies nachbaubar sein.

    -> wenn ich nun ein UI dazu bastel, macht es das ganze wahnsinnig kompliziert für beginner.

    Aber keine Sorge, ich feile gerade an Text ausgabe mit aufgelösten namen und target net framework < 4.7 (dammit tuples...)

  • GrowNerd
    MITGLIED
    Reaktionen
    439
    Trophäen
    1
    Beiträge
    247
    • 9. April 2019 um 22:58
    • #14
    Zitat von MrGrower

    - Ich möchte das ding nicht auf ein git stecken wenn du möchtest, gerne.

    Da bin ich auch noch nicht ganz sicher, ob ich das will. ;)

    Zitat von MrGrower

    - das ding soll so einfach wie möglich für newbies nachbaubar sein.

    Ordner auswählen, Button drücken, fertig :thumbup:


    Zitat von MrGrower

    Aber keine Sorge, ich feile gerade an Text ausgabe mit aufgelösten namen und target net framework < 4.7 (dammit tuples...)

    Ich dachte eher an sowas wie 4.5 höchstens. Das ist auch wirklich so gut wie überall drauf. Aber wieso Tuples?
    Ich mache das grade per Dictionary<int, string>? Oder wo bist du grade?

  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 9. April 2019 um 23:43
    • #15
    Zitat von GrowNerd

    Ordner auswählen, Button drücken, fertig :thumbup:

    Ich meinte nicht die Usability, ich meinte die einfache Verteilung.


    Zitat von GrowNerd

    Ich dachte eher an sowas wie 4.5 höchstens. Das ist auch wirklich so gut wie überall drauf. Aber wieso Tuples?Ich mache das grade per Dictionary<int, string>? Oder wo bist du grade?

    Weil diese einfacher zu implementieren sind als ein Objekt. Aber habs jetzt schon getan, also brauchst nicht mehr machen..

    Bin für jedes Feedback dankbar. Letzten Endes führen viele Wege nach Rom.

    4 Mal editiert, zuletzt von MrGrower (10. April 2019 um 00:20)

  • hYgro's
    MITGLIED
    Reaktionen
    2.228
    Trophäen
    2
    Beiträge
    2.119
    • 9. April 2019 um 23:47
    • #16
    Zitat von MrGrower

    Kein Kommentar -

    :D


    Wollte ihn direkt nur mitteilen, dass aktuell noch zu viele Informationen in deinen Bildern stecken :)

    Auch Zeitstempel und so

    Aber finde es auch cool was ich hier gerade machte :thumbsup:

  • MrGrower
    MITGLIED
    Reaktionen
    21
    Trophäen
    1
    Beiträge
    26
    • 10. April 2019 um 00:16
    • #17

    Ich weiss. dafür ist ja gerade das tool ;)
    code update

    C: Program.cs
    using System;
    using System.Drawing;
    using System.IO;
    
    
    namespace ExifPurge
    {
        /// <summary>
        /// legt fest was eine property ist. Für einsteiger nicht relevant zu verstehen 
        /// </summary>
        class Property
        {
            public int propertyID;
            public string propertyName;
        }
        class Program
        {
            // legt fest, wie viel infotext ausgegeben werden soll, höhere nummern includieren die kleineren
            static int debuglevel = 2; //0 = only errors; 1 = successful files; 2 = sucessful property removals; 3 = ALL
    
            /// <summary>
            /// dieser Teil wird immer aufgerufen, deshalb "Main"
            /// </summary>
            /// <param name="args"></param>
            static void Main(string[] args)
            {
                // löst die funktion ganz unten aus, um die exifproperties zu laden
                Property[] exifProps = getExifProperties();
                // lese alle dateien im gleichen ordner wie die .exe datei; Führe für jede Datei den folgenden code aus
                foreach (string filePath in Directory.GetFiles("./"))
                {
                    // wenn die datei nicht mit .exe endet ist es ein bild. also exif daten löschen
                    if (!filePath.EndsWith(".exe"))
                    {
                        // konvertiere den dateipfad zum dateinamen
                        string[] elements = filePath.Split('/');
                        string cleanedName = elements[elements.Length - 1];
                        // übergebe den dateinamen und alles exifs die entfernt werden sollen an die untere funktion "removeExif" 
                        removeExif(cleanedName, exifProps);
                    }
                }
                Console.WriteLine("Alle dateien erfolgreich bereinigt!");
                Console.WriteLine("keypress will exit the application");
                while (Console.ReadKey(true).Key != ConsoleKey.Escape) ;
            }
    
    
            /// <summary>
            /// Diese funktion wird für jede datei im Ordner aufgerufen und entfernt die exif Daten
            /// </summary>
            /// <param name="filename"></param>
            public static void removeExif(string filename, Property[] exifProperties)
            {
                // erstelle eine Kopie des Bildes im Arbeitsspeicher
                Image image = Image.FromFile(filename);
                // Dieser Part enthält alle Exif daten der Norm die auf den Besitzer schliessen lassen
                System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
    
    
                // gehe die an properties durch. Checke ob das bild diese Exifdaten besitzt
                foreach (Property property in exifProperties)
                {
                    // versuche die Exifdaten zu entfernen
                    try
                    {
                        image.RemovePropertyItem(property.propertyID);
                        if (debuglevel > 1) Console.WriteLine(filename + ": exif eigenschaft '"+property.propertyName+"' erfolgreich entfernt");
                    }
                    // fange fehlermeldungen ab
                    catch (System.ArgumentException e)
                    {
                        // wenn die fehlermeldung lautet "Property cannot be found" bedeutet dies sie muss nicht entfernt werden. Weitermachen
                        if (e.Message == "Property cannot be found.")
                        {
                            // Image does not contain this exif property
                            if (debuglevel > 2) Console.WriteLine(filename + " enthält diese exif eigenschaft nicht: '" + property.propertyName);
                        }
                        // andernfalls lasse das program crashen, damit man nicht fälschlicher weise Bilder mit exifdaten hochläd
                        else
                        {
                            Console.WriteLine(filename + ": Programmfehler beim entfernen der exif eigenschaften dieses bildes!");
                            Console.WriteLine("keypress will exit the application");
                            while (Console.ReadKey(true).Key != ConsoleKey.Escape) ;
                            throw;
                        }
                    }
                }
                // Speichere das Bild als neue datei, nicht überschreiben. Sonst bleiben die exif daten bestehen! 
                image.Save("n" + filename);
                // Lösche das bild aus dem Arbeitsspeicher
                image.Dispose();
                // Lösche das Originalbild
                File.Delete(filename);
                // Benenne das Bereinigete Bild nach dem Original
                File.Move("n" + filename, filename);
                if (debuglevel > 0) Console.WriteLine(filename + " wurde erfolgreich bereinigt");
            }
            /// <summary>
            /// diese funktion läd alle relevanten exif einstellingen der norm
            /// </summary>
            /// <returns>list of relevant exif properties</returns>
            public static Property[] getExifProperties()
            {
                Property[] exifProps =
                {
                    // Camera
                    new Property{propertyID = 42033 , propertyName = "Camera Serial"},
                    new Property{propertyID = 405   , propertyName = "Model Number" },
                    new Property{propertyID = 272   , propertyName = "Model" },
                    new Property{propertyID = 271   , propertyName = "Make" },
                    new Property{propertyID = 37121 , propertyName = "Components Configuration" },
                    new Property{propertyID = 50708 , propertyName = "unique Camera model" },
                    new Property{propertyID = 37500 , propertyName = "Manufactureres Note" },
                    new Property{propertyID = 51105 , propertyName = "Camera Label" },
                    new Property{propertyID = 50936 , propertyName = "Profile Name" },
                    new Property{propertyID = 50934 , propertyName = "As shot profile name" },
    
    
                    // Lens
                    new Property{propertyID = 42036 , propertyName = "Lens Model" },
                    new Property{propertyID = 42035 , propertyName = "Lens Make" },
                    new Property{propertyID = 42037 , propertyName = "Lens Serial" },
                    new Property{propertyID = 42034 , propertyName = "Lens Info" },
                    new Property{propertyID = 41989 , propertyName = "Focal Length" },
                    new Property{propertyID = 37386 , propertyName = "focal length 2" },
    
    
                    // Owner
                    new Property{propertyID = 42032 , propertyName = "Camera Owner" },
                    new Property{propertyID = 65000 , propertyName = "Owner Name" },
                    new Property{propertyID = 40093 , propertyName = "CPOwner" },
                    new Property{propertyID = 36873 , propertyName = "Google Plus Upload code" },
                    new Property{propertyID = 33432 , propertyName = "Copyright" },
                    new Property{propertyID = 50942 , propertyName = "Profile Copyright" },
                    new Property{propertyID = 316   , propertyName = "Hostname" },
                    new Property{propertyID = 315   , propertyName = "Artist" },
    
    
                    // Image
                    new Property{propertyID = 42016 , propertyName = "Image Unique ID" },
                    new Property{propertyID = 36867 , propertyName = "Datetime original" },
                    new Property{propertyID = 36868 , propertyName = "Create Date" },
                    new Property{propertyID = 306   , propertyName = "Modified date" },
                    new Property{propertyID = 270   , propertyName = "Image Description" },
                    new Property{propertyID = 11    , propertyName = "Processing Software" },
                    new Property{propertyID = 41491 , propertyName = "Image History" },
                    new Property{propertyID = 37395 , propertyName = "Image History 2" },
                    new Property{propertyID = 41490 , propertyName = "Security Classification" },
                    new Property{propertyID = 37394 , propertyName = "Security classification 2" },
                    new Property{propertyID = 41489 , propertyName = "Image Number" },
                    new Property{propertyID = 37393 , propertyName = "Image Number 2" },
                    new Property{propertyID = 50547 , propertyName = "Original Filename" },
                    new Property{propertyID = 50828 , propertyName = "Original Raw File Data" },
                    new Property{propertyID = 50827 , propertyName = "Original Raw File Name" },
                    new Property{propertyID = 41728 , propertyName = "File Source" },
                    new Property{propertyID = 50781 , propertyName = "Raw data unique ID" },
                    new Property{propertyID = 50217 , propertyName = "Oce ID Number" },
                    new Property{propertyID = 41730 , propertyName = "CFA Pattern" },
                    new Property{propertyID = 34954 , propertyName = "Leaf sub id" },
    
    
                    // Location
                    new Property{propertyID = 41492, propertyName = "Subject Location" },
                    new Property{propertyID = 37396, propertyName = "Subject Area" },
                    new Property{propertyID = 34853, propertyName = "GPS Info" },
                    new Property{propertyID = 34867, propertyName = "Isospeed data" },
                    new Property{propertyID = 34868, propertyName = "Isospeed latitude yyy" },
                    new Property{propertyID = 34869, propertyName = "Isospeed latitude xxx" },
                    new Property{propertyID = 40095, propertyName = "XPsubject" },
                    new Property{propertyID = 37889, propertyName = "Humidity" },
                    new Property{propertyID = 37888, propertyName = "Temperature" },
                    new Property{propertyID = 37890, propertyName = "Pressure" }
                };
                return exifProps;
            }
        }
    }
    Alles anzeigen



    --------------- 10. April 2019, 00:16 ---------------

    Zitat von hYgro's

    :D

    Wollte ihn direkt nur mitteilen, dass aktuell noch zu viele Informationen in deinen Bildern stecken :)

    Auch Zeitstempel und so

    Aber finde es auch cool was ich hier gerade machte :thumbsup:

    Naja. Man könnte jetzt ja auch fake daten reinschreiben :rolleyes: aber das passt hier leider nicht in die 10'000 zeichen limit

  • GrowNerd
    MITGLIED
    Reaktionen
    439
    Trophäen
    1
    Beiträge
    247
    • 10. April 2019 um 00:23
    • #18
    Zitat von MrGrower

    Weil diese einfacher zu implementieren sind als ein Objekt. Aber habs jetzt schon getan, also brauchst nicht mehr machen..


    new Property{propertyID = 42033 , propertyName = "Camera Serial"},
    vs.
    _properties.Add(42033, "Camera Serial");

    Naja, ich finde mit Dictionary ist jetzt auch nicht wirklich anders, aber Wurscht.

    So oder so hast du da ein schönes Snippet gezaubert. :thumbsup:

    Einmal editiert, zuletzt von GrowNerd (10. April 2019 um 00:35) aus folgendem Grund: HInweis nicht mehr nötig.

  • einsdreisieben
    Gast
    • 20. Mai 2019 um 17:57
    • #19

    da lass ich auch nochmal ein like da... garnicht schlecht.

    Habt ihr mittlerweile ne GUI gemacht? :D Wäre ja nich abgeneigt sowas über meinen kompletten Bilderfolder laufen zu lassen.

    Geht das Tool auch rekursiv durch Verzeichnisse? /s mässig?

  • GrowNerd
    MITGLIED
    Reaktionen
    439
    Trophäen
    1
    Beiträge
    247
    • 20. Mai 2019 um 19:36
    • #20
    Zitat von einsdreisieben

    da lass ich auch nochmal ein like da... garnicht schlecht.

    Habt ihr mittlerweile ne GUI gemacht? :D Wäre ja nich abgeneigt sowas über meinen kompletten Bilderfolder laufen zu lassen.

    Geht das Tool auch rekursiv durch Verzeichnisse? /s mässig?

    Ich habe das bis jetzt nur in meiner Grow Software eingebaut. Für TGL nutze ich immer noch den Windows Explorer *lol*

  • PREMIUM WERBUNG
PREMIUM WERBUNG
PREMIUM WERBUNG

PRO-Mitglied

Keine Werbung & vieles mehr...

Letzte Beiträge

  • Alles neu macht der Mai

    DocStrangelove 31. Mai 2025 um 23:31
  • Music- ich hör gerade... :)

    Black Forest 31. Mai 2025 um 20:50
  • Entscheidungshilfe: Schon in Grovebags?

    Poppy Adams 31. Mai 2025 um 20:29
  • Papa Patrick pflanzt punte Plumen (unter) Photonenbeschuß

    mrsalz 31. Mai 2025 um 19:41
  • Jede Menge Irrsinn Rezzo's endlos Hydro Grow....garantiert 0% Bio und 0% organisch-// aktuell Gelato&Cherrypie fast Photo

    Rezzo 31. Mai 2025 um 17:53

Heiße Themen

  • Usertreffen

    101 Antworten, Vor 4 Monaten
  • Thread - für kleine Fragen zwischendurch !!

    17.203 Antworten, Vor 12 Jahren
  • 3D-Drucker - Empfehlungen?

    15 Antworten, Vor einem Monat
  • Der "Bilder zwischendurch"-Thread

    9.933 Antworten, Vor 9 Jahren
  • bücher - was gefällt mir am besten

    28 Antworten, Vor 2 Monaten

Neueste Mitglieder

  • StonerPalace

    26. Mai 2025 um 13:56
  • Xkalibur

    25. Mai 2025 um 09:26
  • Phytomed

    18. Mai 2025 um 09:15
  • technews

    14. Mai 2025 um 11:45
  • FirstOutdoorGrow

    9. Mai 2025 um 18:29

Themen-Schlagwortwolke

  • Abluft
  • Akf
  • Anbau
  • Anfänger
  • Auto
  • Autoflowering
  • Automatic
  • Bio
  • biobizz
  • Blätter
  • Blüte
  • cannabis
  • CBD
  • diy
  • Dünger
  • ec
  • Erde
  • Ernte
  • Ernte Zeitpunkt
  • Ertrag
  • Gelbe Blätter
  • Giessen
  • grow
  • Growbox
  • Hilfe
  • Hydro
  • indica
  • Indoor
  • LED
  • led grow
  • licht
  • Lüfter
  • mangel
  • Mangelerscheinung
  • NDL
  • Outdoor
  • outdoor grow
  • Pflanze
  • ph
  • Problem
  • probleme
  • Samen
  • Sativa
  • Schimmel
  • Seeds
  • Sorten
  • temperatur
  • Wachstum
  • Wasser
  • Weed
PREMIUM WERBUNG

Tags

  • exif
  • purge
  • clean
  • safety

Forum online seit...

17 Jahren, einem Monat, einem Tag, einer Stunde und 20 Minuten

Online seit « 2008 » sind wir der Anlaufpunkt für den Anbau für den Eigenbedarf und Infos rund ums Thema « Cannabis ».

  1. Impressum
  2. Nutzungsbedingungen
  3. Datenschutzerklärung
  4. Kontakt
  5. Spenden
  1. PARTNER
    1. IHRE WERBUNG HIER!
    2. IHRE WERBUNG HIER!
    3. IHRE WERBUNG HIER!
    4. IHRE WERBUNG HIER!
    5. IHRE WERBUNG HIER!
    6. IHRE WERBUNG HIER!
  2. PARTNER
    1. IHRE WERBUNG HIER!
    2. IHRE WERBUNG HIER!
    3. IHRE WERBUNG HIER!
    4. IHRE WERBUNG HIER!
    5. IHRE WERBUNG HIER!
    6. IHRE WERBUNG HIER!
  3. PARTNER
    1. IHRE WERBUNG HIER!
    2. IHRE WERBUNG HIER!
    3. IHRE WERBUNG HIER!
    4. IHRE WERBUNG HIER!
    5. IHRE WERBUNG HIER!
    6. IHRE WERBUNG HIER!
  4. PARTNER
    1. IHRE WERBUNG HIER!
    2. IHRE WERBUNG HIER!
    3. IHRE WERBUNG HIER!
    4. IHRE WERBUNG HIER!
    5. IHRE WERBUNG HIER!
    6. IHRE WERBUNG HIER!
Community-Software: WoltLab Suite™