So erhalten Sie Informationen aus einem Foto mit Ruby

Inhaltsverzeichnis

Heute sind wir es gewohnt, unsere Fotos in soziale Netzwerke oder in die "Cloud" hochzuladen, ohne darüber nachzudenken, welche Daten sie hinter sich haben, sicherlich wissen viele immer noch nicht, dass sie Metadaten ("Bildinformationen") enthalten, die wir mit dem Nackten nicht sehen Auge. Aber wenn Sie mit der rechten Maustaste auf ein Bild klicken und wir zu den Eigenschaften gehen und nach vielen Informationen suchen, hinterlasse ich einige Screenshots davon, wie diese Informationen in Linux und Windows aussehen.

Ok, diese Informationen, die wir in den obigen Bildern sehen, sind nicht die wichtigsten, sie können nicht viel über uns wissen, außer dass wir das Foto gemacht haben das Foto wurde aufgenommen , und zumindest in Windows kann es ohne spezielle Tools angezeigt werden (es befindet sich an der gleichen Stelle wie das vorherige Bild Eigenschaften> Details), schauen Sie sich das folgende Bild an (ich habe die Informationen gelöscht):

Wenn wir auf eine Seite gehen, die uns beim Einfügen des Breiten- und Längengrads die genaue Adresse angibt, an der das Foto aufgenommen wurde, beginnt eine gewisse Gefahr zu bestehen, eine böswillige Person kann herausfinden, wo wir leben.

VERGRÖSSERN

In diesem Tutorial werde ich einen Ruby-Code beibringen, der Metadaten aus JPEG.webp, JPG.webp extrahiert, obwohl Sie sie auch von TIFF-Bildern erhalten können.

Als erstes müssen wir eine externe Bibliothek namens exifr installieren, dazu führen wir den folgenden Satz aus:

 gem install exifr
Sehen wir uns den Code an, wenn Sie etwas mit Ruby programmiert haben, ist es sehr einfach:
 erfordern 'exifr' image = '/home/ubuntu/solvetic.jpg.webp' if EXIFR :: JPEG.webp.new (image) .exif? dann drucke "Breite:", EXIFR :: JPEG.webp.new (Bild) .width, "\ n" drucke "Höhe:", EXIFR :: JPEG.webp.new (Bild) .height, "\ n" drucke "Kameramodell oder mobile: ", EXIFR :: JPEG.webp.new (image) .model," \ n "print" Date: ", EXIFR :: JPEG.webp.new (image) .date_time," \ n "if EXIFR :: JPEG.webp.new ( image) .gps drucken dann "Latitude:", EXIFR :: JPEG.webp.new (image) .gps.latitude, "\ n" print "Longitude:", EXIFR :: JPEG.webp.new (image) .gps.longitude, " \ n" end else setzt "Keine Metadaten" end
Zuerst importieren wir die Bibliothek, deklarieren eine Variable mit dem Pfad unseres Bildes und führen eine kleine Überprüfung durch, dann erhalten wir nur die Eigenschaften des Bildes (wenn es eine Eigenschaft gibt, die keinen Wert hat, bleibt sie einfach leer). Im letzten Teil von if werden wir überprüfen, ob es GPS-Daten hat, damit es uns keinen Fehler gibt, wenn es ein Nullwert ist. Wenn dies der Fall ist, zeigen wir es auf dem Bildschirm an.

NotizWo siehst du den Text /home/ubuntu/solvetic.jpg.webp sollte den Pfad Ihres Bildes gehen.

Wenn wir den Code ausführen, haben wir die folgende Konsolenausgabe:

Hier ist eine Postleitzahl mit dem obigen Code:

Metadaten Ruby.zip 373 Byte 148 Downloads

Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave