image metadaten jpeg strukturen 0.15

image metadaten jpeg strukturen 0.15

Sponsored Links
Sponsored Links

image metadaten jpeg strukturen 0.15

No.
Titel
Kategorie
Preis
Liscense
Expand All
1
Programmierung - Bibliotheken
GPL (GNU Gene
Bild:: Metadaten:: jpeg ist eine Perl-Extension für die darstellenden/änderndaten jPEG-(Meta-).

SYNOPSE

Gebrauch Bild:: Metadaten:: JPEG;

# eine neue JPEG-Dateizellenachricht erstellen
mein $image = neues Bild:: Metadaten:: jpeg (somepicture.jpg);
Fehler sterben: . Bild:: Metadaten:: JPEG:: Fehler () es sei denn $image;

# eine Liste von Hinweisen auf Kommentarsegmenten erhalten
meine @segments = $image->get_segments (COM, ANZEIGEMARKEN);

# die JPEG-Abbildungabmessungen erhalten
mein ($dim_x, $dim_y) = $image->get_dimensions ();

# Erscheinen alle JPEG-Segmente und ihr Inhalt
Druck $image->get_description ();

# einen spezifischen Wert von den Exif metadaten zurückholen
mein $image_data = $image->get_Exif_data (IMAGE_DATA, WÖRTLICH);
Druck $image_data-> {DateTimeOriginal} - > [0], „N“;

# die Datum-Zeit-Marke für das Hauptbild ändern
$image->set_Exif_data ({Datum-Zeit-=> 1994:07: 23 12:14: 51},
IMAGE_DATA, ADDIEREN);

# Löschung alle Metadatensegmente (bitte, nicht tun)
$image->drop_segments (METADATEN);

# Neufassungsdatei zur Platte nach Ihren Modifikationen
$image->save (new_file_name.jpg);

#… und viel mehr Methoden für Betrachtung/ändernmetadaten, die
# erreicht durch die $file oder $segments [$index] Hinweise.

Der Zweck dieser Baugruppe ist, Dateien in den JPEG-(gemeinsames fotographisches Expertengruppeformat) zu lesen/ändert/Neufassungsmetadatensegmente, die Kommentar, Thumbnails, Exif Informationen (fotographische Parameter), IPTC Informationen (redaktionelle Parameter) und ähnliche Daten enthalten können.

Jede JPEG-Datei gebildet von den nachfolgenden Segmenten (mit Warnschild versehene Datenblöcke) und von den tatsächlichen Reihenabbildungdaten. Die meisten diesen Segmenten spezifizieren Parameter für die Decodierung der Abbildungdaten in eine Bitmap; einige von ihnen, nämlich die Kommentar- und Anwendungssegmente, enthalten anstatt metadaten d.h. Informationen über, wie das Foto (normalerweise addiert durch eine Digitalkamera) und zusätzliche Mitteilungen von der Fotographie geschossen. Diese zusätzliche Information ist für Abbildungdatenbanken besonders wertvoll, da die metadaten zusammen mit der Abbildung gespart werden können, ohne auf zusätzliche Datenbank- Zellen zurückzugreifen. Den Anhang über die Zelle der JPEG-Dateien für technische Sonderkommandos sehen.

Diese Baugruppe arbeitet, indem sie eine JPEG-Datei in einzelne Segmente bricht. Jede Datei verbunden ist zu einem Bild:: Metadaten:: JPEG-Zellenachricht, die ein Bild: enthält: Metadaten:: JPEG:: Segmentnachricht für jedes Segment. Segmente mit einem bekannten Format analysiert dann, und ihr Inhalt kann auf eine strukturierte Art für Anzeige erreicht werden. Einige von ihnen können zur Platte sogar geändert werden und dann neu geschrieben werden.

$JPEG:: show_warnings

Diese Paketvariable muß verwendet werden, um das Drucken von Vorsichtshinweisen zu sperren: wenn sie falsch ist, ignoriert Vorsichtshinweise still. Andernfalls kommen Warnmeldungen mit einem ausführlichen zurück-verfolgen und Beschreibung des warnenden Einbauorts.

$Image:: Metadaten:: JPEG:: show_warnings = undef;

2
Programmierung - Bibliotheken
Perl Artistic
Bild:: Metadaten:: JPEG:: TagLists enthält eine Ansammlung Markentische für JPEG-Segmente. Bild:: Metadaten:: JPEG:: TagLists ist ein Anhang zur manuellen hauptsächlichseite des Bildes:: Metadaten:: JPEG-Baugruppe, die der Leser für weitere Sonderkommandos und den allgemeinen Bereich ansprechen sollte.

Gültige Marken für Exif APP1 Daten

Die Japan-Elektronik-und Informationstechnologie-Industrie-Verbindung (JEITA) vorbrachte einen Standard für ein Austauschformat für digitale Abbildungen der ruhigen Kameras en, bekannt als Exif. Dieser Standard definiert eine Zelle für die Einbettung von metadaten in einer JPEG-Abbildung, in das Segment APP1 geschrieben zu werden. Die Allgemeinen und die Bezugsdokumente über diese Zelle eingeführt im Zelleanhang t; dieser Abschnitt und seine Unterabschnitte verzeichnen die gültigen Interoperabilitätssatzmarken sowie ihr Format.

Kanonisches Exif 2.2 und Marken tiff-6.0 für IFD0 und IFD1

Im allgemeinen können IFD0 und IFD1 Marken von der gleichen Einstellung bewirten. Diese Marken geteilt in drei Kategorien: kanonisch, zusätzlich und zu den Firmen registriert. Die Marken verzeichneten in der folgenden Tabelle sollen als kanonisch gelten; sie beschrieben ausführlich im Exif Standarddokument und können im IFD0 und im IFD1 gefunden werden (einige von ihnen müssen in beiden Verzeichnissen anwesend tatsächlich sein).

Die Kategoriensäule trägt die Markenkategorie; mögliche Werte sind: A (BildDatenstruktur), B (Versatz), C (Bilddateneigenschaften), D (andere Marken) und P (Nadelanzeigen zu anderem IFDs). Die zwei hexadezimalen Codes und Namen der folgenden Säuleerscheinenmarke. Der Typ Säule spezifiziert den Typen (der immer nicht unterzeichneten) Marke: I (kurz oder lang), S (kurz), L (lang), R (rational) und A (ASCII, null immer abgebrochen). Die Zählimpulssäule trägt offensichtlich den Markenzählimpuls (- für einen variablen Zählimpuls, irgendein, weil es eine mit variabler Längezeichenkette ist, oder weil es von anderen Marken abhängt).

Die Säulen IFD0 und IFD1 spezifizieren die Stützungslinie im jeweiligen Verzeichnis; jede Säule enthält vier Zeichen, weil das Hauptbild (IFD0) und der Thumbnail (IFD1) in vier Vielzahl (uncompressed klumpiges, uncompressed planares, uncompressed YCC und in jpeg kommen können komprimiert).

Diese Baugruppe konzentriert aktuell nur auf JPEG-Abbildungen (nicht tiff), so nur das vierte Zeichen der Säule IFD0 ist interessant, aber notiert, dass der Thumbnail eines JPEG-Bildes uncompressed sein kann. Die Stützungsliniecodes stehen für: M (vorgeschrieben), R (empfohlen), O (wahlweise), N (not_recorded) und J (eingeschlossen in der JPEG-Markierung und so nicht gespeichert).

Die Thumbnail-nursäule zeigt eine T für jene Sätze, welches nicht durch die Benutzerausnahme eingestellt werden/geändert werden kann, die während Thumbnailaktualisierungmaßnahmen gebildet (und einiger von ihnen berechnet automatisch irgendwie). Notiert, dass in einigen Fällen es möglich ist, eine Marke einzustellen, wenn seine Stützungslinie N ist (z.B., das YCbCr Material in IFD1): die Abbildung, die Programme anzeigt, sollte sie jedoch einfach ignorieren. Einige andere Marken, hinsichtlich des Versatzes oder der spezifischen Informationen des Thumbnail, können nicht vom Baugruppenbenutzer (sie berechnet automatisch, zuverlässig) eingestellt werden: diese markiert vorbei berechneten in den Mitteilungen oder durch eine T in der Thumbnail-nursäule.

Hexadezimaler Codezählimpuls IFD0 IFD1 Thumbnail-nur
Kategorie | Markennamenstyp | supp.supp. | Mitteilungen
| | | | | | | | |
100 ImageWidth I 1 MMMJ MMMJ T (nicht JPEG) Pixel/Reihe
101 ImageLength I 1 MMMJ MMMJ T (nicht JPEG) numerisch. Reihen
102 BitsPerSample S 3 MMMJ MMMJ T (nicht JPEG) 8.8.8
Ein 103 T1 der Komprimierung-S 1 MMMJ MMMM (uncompr.) oder 6 (JPEG)
106 PhotometricInterpretation S 1 MMMN MMMJ 2 (RGB) oder 6 (YCbCr)
D 10e ImageDescription A - RRRR OOOO (Mitteilung 1) sehen
D 10f bilden A - RRRR OOOO Kamerahersteller
Baumuster A - RRRR OOOO Kamerabaumuster d-110
B 111 StripOffsets I - MMMN MMMN berechnet
Eine 112 Lagebestimmung S 1 RRRR OOOO (Mitteilung 2) sehen
Ein compon 115 SamplesPerPixel S 1 MMMJ MMMJ T (nicht JPEG) 3.
B 116 RowsPerStrip I 1 MMMN MMMN T (nicht JPEG)
B 117 StripByteCounts I - MMMN MMMN T (nicht JPEG)
Ein 11a XResolution R 1 MMMM MMMM (Mitteilung 3) sehen
Ein 11b YResolution R 1 MMMM MMMM (Mitteilung 3) sehen
Ein 11c PlanarConfiguration S 1 OMOJ OMOJ (Mitteilung 4) sehen
128 ResolutionUnit S 1 MMMM MMMM (Mitteilung 3) sehen
C 12d TransferFunction S 768 RRRR OOOO (Mitteilung 5) sehen
Software A - OOOO OOOO Exif Software/Mikroprogrammaufstellung d-131
Datum/Uhrzeit A 20 RRRR OOOO d-132 (Mitteilung 6) sehen
Künstler A - OOOO OOOO Inhaber/photogr. /creator d-13b
C 13e WhitePoint R 2 OOOO OOOO (Mitteilung 5) sehen
C 13f PrimaryChromaticities R 6 OOOO OOOO (Mitteilung 5) sehen
B 201 JPEGInterchangeFormat L 1 NNNN NNNM berechnet
B 202 JPEGInterchangeFormatLength L 1 NNNN NNNM T (nur JPEG)
C 211 YCbCrCoefficients R 3 NNOO NNOO (Mitteilung 7) sehen
212 YCbCrSubSampling S 2 NNMJ NNMJ (Mitteilung 7) sehen
213 YCbCrPositioning S 1 NNMM NNOO (Mitteilung 7) sehen
C 214 ReferenceBlackWhite R 6 OOOO OOOO (Mitteilung 8) sehen
Copyright A - OOOO OOOO d-8298 von photogr. /editor
P 8769 ExifOffset L 1 MMMM OOOO berechnet
P 8825 GPSInfo L 1 OOOO OOOO berechnet

3
Programmierung - Bibliotheken
Perl Artistic
Bild:: Metadaten:: JPEG:: MakerNotes enthält gelegentliche Informationen und Details über MakerNotes.

Stücke verfügbare Information nach der Satzgliederung des MakerNote

Das Resultat des Prozesses der Satzgliederung der Herstellermitteilung wird in einem Verzeichnis in der internen Datenstruktur für das Segment APP1 gelagert, dessen Bahn „IFD@SubIFD@MakerNoteData_$format“ ist, wo $format das spezifische Mitteilungformat ist; die MakerNote Eingabe in IFD0@SubIFD wird dann entfernt. Diese Übersetzung geschieht immer, weil es eine unbekannte Richtlinie des Catch-all für ein binäres makernote mit sehr ausgedehnten Annahmerichtlinien gibt. Das Herstellermitteilungverzeichnis enthält zusätzlich ein spezielles subdir mit einigen Bereichen, die über den Satzgliederungsprozeß berichten.

Schlüsselinhalt
-------- -------
VORLAGE der rohe Inhalt der Herstellermitteilung (unparsed)
UNTERSCHRIFT die ersten Bytes, die erlaubten, daß das Format gewählt wird
ENDIANNESS die Byteordnung gewählt während der Satzgliederung
Das Herstellermitteilungformat FORMATIEREN, das während der Satzgliederung gewählt wird
Wahlweise] Fehlersonderkommandos des FEHLERS [, im Falle des Ausfalls bei der Satzgliederung

Unterstützte MakerNote Formate

Herstellermitteilungformate werden in einem speziellen internen Durcheinander, mit einem Schlüssel für jedes Format spezifiziert (einschließlich unbekanntes Format). Jede Formateingabe entspricht einem anonymen Durcheinander, das Informationen für die Satzgliederung des MakerNote enthält; das „normale“ Format wird betrachtet, IFD-wie MakerNote mit einer next_link Nadelanzeige, der Versatz zu sein, der vom globalen tiff-Vorsatz und von keinem MakerNote internen tiff-Vorsatz gezählt wird.

Schlüsselbedeutung oder Effekt
--------- -----------------
Unterschrift die MakerNote Unterzeichnung (ein regulärer Ausdruck)
Hersteller die Herstellerunterzeichnung (d.h., sein Name, kein regex)
versieht einen Hinweis auf einem Durcheinander für Markenübersetzungen mit Warnschild
(a) werden mkntstart, wenn es, Versatz eingestellt wird, vom Herstellermitteilunganfang gezählt
(b) werden mkntTIFF, wenn es, Versatz eingestellt wird, vom internen tiff-Vorsatz gezählt
(c) ignorieren, wenn es, das Format eingestellt wird, soll ignoriert werden
(d) hat nonext, wenn es, die Herstellermitteilung IFD eingestellt wird, nicht ein next_link
(e) wird endianness, wenn es, die Byteordnung eingestellt wird, an diesem Wert befestigt
(f) ist nonIFD, wenn es, die Herstellermitteilung eingestellt wird, nicht IFD-wie

Aktuell „unterstützte“ Formate werden in der folgenden Tabelle beschrieben; maßgebende Daten werden in der Tat in Tables_makernotes.pl geführt, auf dem der Leser für Markendefinitionen und -übersetzungen verweisen sollte. Sich daran erinnern, dass die Unterzeichnung und die Herstellerbereiche die regulären Ausdrücke sind, die zu Beginn abgleichen (die reale Unterzeichnung entspricht bis $1).

Eine E-Fhersteller-Unterzeichnung b-C D
----------- --------- -----------------
Agfa AGFA (AGFA 00 01)
Canon Canon ()
Casio_1 CASIO () [^Q]
Casio_2 CASIO (QVC 00 {3})
Epson EPSON (EPSON 00 01 00)
Foveon FOVEON (FOVEON 00 {2} 01 00)
Fujifilm x FUJIFILM (FUJIFILM 14 00 {3})
HPackard x Hewlett-Packard (HP)
Kyocera x x KYOCERA (KYOCERA {12} 00 {3})
Kodak B x KODAK (KDK Info [a-zA-Z0-9] *)
Minolta_1 MINOLTA (). {10} MLT0
Minolta_2 Minolta (). {10} MLT0
Konica x Minolta|KONICA ((MLY|Kc|(+M) {4})| 01 00 {5} 04)
Nikon_1 NIKON (Nikon 00 01 00)
Nikon_2 NIKON () [^N]
Nikon_3 x NIKON (Nikon 00 02 [20 00] 00 {2})
Olymp OLYMP (OLYMP 00 [01 02] 00)
Panasonic_1 x Panasonic (Panasonic 00 {3})
Panasonic_2 x x Panasonic (MKED)
Pentax_1 x Asahi () [^A]
Pentax_2 x x Asahi (AOC 00.)
Ricoh_1 x RICOH (Rv|Rev)
Ricoh_2 x RICOH (00)
Ricoh_3 RICOH ((Ricoh|RICOH) 00 {3})
Sanyo SANYO (SANYO 00 01 00)
Sigma SIGMA (SIGMA 00 {3} 01 00)
Sony x SONY (SONY (Nocken|DSC) 00 {3})
Toshiba x TOSHIBA ()
unbekanntes X. ()

Hinweise

MakerNote Formatsonderkommandos werden nicht normalerweise von den Verkäufern freigegeben (gut, ist dieses ein Euphemismus: kein Verkäufer überhaupt gab meines Wissens jedes mögliches Detail über sein Format, Ausnahme frei, die für Sigma/Foveon gebildet wurden). Alle Informationen, die für dieses Paket verwendet wurden, wurden auf dem Internet (und seine Zuverlässigkeit wird folglich begrenzt) oder durch persönliche Prüfungen montiert. Einige interessante Sites sind (nicht eine vollständige Liste an allen):

Allgemein: home.arcor.de/ahuggel/exiv2/makernote.html
.....: www.ozhiker.com/electronics/pjmt/jpeg_info/makernotes.html

Agfa: www.ozhiker.com/electronics/pjmt/jpeg_info/agfa_mn.html
Canon: www.burren.cx/david/canon.html
Casio: park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html
…: www.dicasoft.de/casiomn.htm
Epson: www.ozhiker.com/electronics/pjmt/jpeg_info/epson_mn.html
Foveon: Foveon ist das selbe, wie Sigma, Sigma sehen
Fujifilm: park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html
......: www.ozhiker.com/electronics/pjmt/jpeg_info/fujifilm_mn.html
Kyocera: www.ozhiker.com/electronics/pjmt/jpeg_info/kyocera_mn.html
Kodak: meine persönlichen Prüfungen mit meinem Kodak DX3900 (nicht IFD-wie)
Minolta: www.dalibor.cz/minolta/makernote.htm
.....: www.ozhiker.com/electronics/pjmt/jpeg_info/minolta_mn.html
Nikon: park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html
…: www.tawbaware.com/990exif.htm
…: www.ozhiker.com/electronics/pjmt/jpeg_info/nikon_mn.html
Olymp: park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html
.....: www.ozhiker.com/electronics/pjmt/jpeg_info/olympus_mn.html
Panasonic: www.compton.nu/panasonic.html
Pentax: www.ozhiker.com/electronics/pjmt/jpeg_info/pentax_mn.html
Ricoh: www.ozhiker.com/electronics/pjmt/jpeg_info/ricoh_mn.html
Sanyo: www.exif.org/makernotes/SanyoMakerNote.html
Sigma: www.x3f.info/technotes/FileDocs/MakerNoteDoc.html
Sony: www.ozhiker.com/electronics/pjmt/jpeg_info/sony_mn.html

DX3900 MakerNote Format

Kodak MakerNotes werden in ein eigenes binäres Format geschrieben, das nicht IFD-wie ist. So, gibt es keine Methode, den Anfang, das Ende und den Typen eines Bereichs aufzuspüren; alles hier wurde durch einen vorsichtigen Vergleich des Inhalts einer Einstellung Kodak JPEG-Dateien und ihrer Kiesparameter geschlossen. Bereiche scheint, auf vier Bytegrenzen ausgerichtet zu werden. Für das Baumuster DX3900 wird das endianness immer an grossem endian befestigt. Die Unterzeichnung, die regulärer Ausdruck „^ ist (KDK Info [a-zA-Z0-9] *)“, der Hersteller, ist KODAK. Die Bedeutung der Marken ist, wie folgt:

BYTE??? Mikroprogrammaufstellungversion? Dieses ist immer 3
BYTE Komprimierung 1 = Normal, 2 = hohe Komprimierung 2160x1440
BYTE BurstMode 0 = weg, 1 = an
BYTE MacroMode 0 = Normal, 1 = Nahaufnahme
KURZES PixelXDimension 2160x1440, 1800x1200 erlaubt,
KURZES PixelYDimension/Werte: 1536x1024, 1080x720
KURZES Jahr der Jahrwert, mit vier Digits
BYTE Monat der Monatswert (innen [1.12])
BYTE Tag der Tageswert (innen [1.31])
BYTE Stunde der Stundenwert (innen [0.23])
BYTE Protokoll der minuziöse Wert (innen [0.59])
BYTE an zweiter Stelle der zweite Wert (innen [0.59])
BYTE SubSecond (in 130. von Sekunden?)
KURZSCHLUSS??? ???
BYTE??? ???
BYTE ShutterMode 0 = Automobil, 32 = Handbuch
BYTE MeteringMode 0 = Multimuster, Gewicht 1=centre., Punkt 2=centre
BYTE BurstSequenceIndex Anzeigemarke innen [1.8], 0 wenn Einpunktbetrieb weg
KURZES FNumber 100mal die Exif F-Zahl
LANGES ExposureTime in den Sekunden 10^-5
SSHORT ExposureBiasValue 1000 setzt Zeit Expositionbefangenheit in fest [- 2, +2 Stufe .5]
KURZSCHLUSS??? ???
LANG???
LANG??? ist dieses eine Schätzung der Person
LANG??? /Abstand? Wenn ja ist er sehr rauh.
LANG??? /
BYTE FocusMode 0 = Automobil, 2 = eng, 3 = Unbegrenztheit
BYTE??? immer 2
KURZSCHLUSS??? ???
SSHORT PanoramaMode 0 = Normal, -1 = Fokus an der Unbegrenztheit
KURZES SubjectDistance (x-28) *2.54+7 sieht wie der Abstand in cm aus
BYTE WhiteBalance 0 = Normal, 1 = Fluor., 2 = Wolfram, 3 = Tageslicht
(27 Bytes mit unbekannter Bedeutung hier)
BYTE FlashMode 0 = Automobil, 1 = ein, 2 = weg, 3 = Red-eyes
BYTE FlashFired 0 = ja, 1 = Nr.
KURZES ISOSpeedMode die geforderte Drehzahl innen {100.200.400} oder null
KURZSCHLUSS??? ???
KURZES TotalZoomFactor 100mal der Summenfaktor in [+1, +6 Stufe 0.1]
KURZES DateTimeStampMode 0 = keine, [1.6] = die sechs Betriebsarten
KURZES ColourMode 1 = Schwarzes u. weißes, 2 = Sepia, 32 = Farbe
KURZES DigitalZoomFactor 100mal der Summenfaktor in [+1, +3 Stufe 0.1]
BYTE??? immer null
SBYTE Schärfe 0 = Standard, 1 = Scharfes, -1 = weich
(808 Bytes mit unbekannter Bedeutung hier, möglicherweise ein Thumbnail?)

4
Programmierung - Bibliotheken
Perl Artistic
Bild:: Metadaten:: JPEG:: Zellen ist eine Perl-Baugruppe, die die Zelle einer JPEG-Datei beschreibt; es ist ein Anhang zur manuellen hauptsächlichseite des Bildes:: Metadaten:: JPEG-Baugruppe, die der Leser für weitere Sonderkommandos und den allgemeinen Bereich ansprechen sollte.

DIE ZELLE DER JPEG-ABBILDUNGEN

Die Iso-Norm JPEG-(gemeinsame fotographische Expertengruppe) ist eine lossy-Bildkomprimierungvorrichtung, die vor 1990 entwickelt, konzipiert für komprimierende photo-realistic Bilder der Farbe oder des Gray-scale (sie durchführt schlecht an den Leitungkunst Zeichnungen ht). Die JPEG-Vorrichtung konzipiert, um bekannte Beschränkungen des menschlichen Auges auszunutzen, insbesondere die Tatsache, dass Farbenänderungen kleiner genau als empfunden, ändert in der Helligkeit.

Notiert, dass, obgleich das „Grundlinie“ JPEG-Format Patent-frei ist, es die Patente gibt, die mit einigen Zusatzeinrichtungen, nämlich arithmetische Kodierung und hierarchische Speicherung verbunden sind. Aus diesem Grund verwendet diese Zusatzeinrichtungen nie auf dem Web (guter Job, Patent auflockert…). jpeg verweist nur auf eine Kategorie Komprimierungalgorithmen, nicht auf ein spezifisches Dateiformat. Um Dateien mit eingebetteten JPEG-Strömen zu produzieren, angepaßt worden einige (semi-) Standards des Dateiformats n oder geplant worden, von denen einige im Formatabschnitt verzeichnet. Die Zelle einer wohlgeformten JPEG-Datei kann durch die folgenden Pseudoproduktionsrichtlinien beschrieben werden (für Grund von Einfachheit, vernachlässigt einige zusätzliche Begrenzungen zwischen Tischen und SOF-Segmenten).

jpeg --> (SOI) (verschieden) * (Bild)? (EOI)
(Bild) --> (Hierarch.)|(non-hier.)
(Hierarch.) --> (DHP) (Rahmen) +
(Rahmen) --> (verschieden) * (EXP)? (non-hier.)
(non-hier.) --> (SOF) (Scan) +
(Scan) --> (verschieden) * (PAS) (Daten) * (ECS) (DNL)?
(Daten) --> (ECS) (RST)
(verschieden) --> (DQT)|(DHT)|(DAC)|(DRI)|(COM)|(APP)

(SOI) = Anfang des Bildes
(EOI) = Ende des Bildes
(SOF) = Anfang des Feldvorsatzes (10 Typen)
(PAS) = Anfang des Scan-Vorsatzes
(ECS) = Entropie-Codesegment (Reihendaten, nicht ein reales Segment)
(DNL) = Zeilenzahl Segment definieren
(DHP) = hierarchisches P definieren??? Segment
(EXP) = Dynamicdehnungssegment
(RST) = Wiederanlaufssegment (8 Typen)
(DQT) = Quantelung-Tisch definieren
(DHT) = Huffman Codetabelle definieren
(DAC) = arithmetische Codetabelle definieren
(DRI) = Wiederanlaufs-Abstand definieren
(COM) = Kommentarsegment
(APP) = Anwendungssegment

Dieses Paket prüft nicht, ob eine JPEG-Datei wirklich korrekt ist; es annimmt eine losere Syntax, war Segmente x und ECS-Blöcke sind gerade angrenzend (im Allgemeinen, weil sie nicht braucht, das Bild anzuzeigen!). Alle Metadateninformationen konzentriert in (COM*) und (APP) in den Segmenten, die Ausnahme, die für einige Sätze im gebildet, Segment (SOF*) (z.B. Bildabmessungen).

Hinweis: B< „Digital Komprimierung und Kodierung von continuous-tone noch
Bilder: Bedingungen und Korrekturlinien ", CCITT empfehlen. T.81, 1992,
Der internationale Fernschreiber-und Telefon-beratende Ausschuß,
Standard-ISO/IEC IST 10918-1 oder ITU-T die Empfehlung T.81 >.
Auch: B< „der JPEG-Stilleabbildungkomprimierungstandard“, G.K.Wallace,
1991, IEEE-Verhandlungen auf Unterhaltungselektronik >.

5
Programmierung - Bibliotheken
GPL (GNU Gene
GFL:: Bild ist eine OO Schnittstelle PET Gougelets zur graphische Datei-Bibliothek.

SYNOPSE

Gebrauch GFL:: Bild;

mein $im = GFL:: Image-> neu;

$im - > Belastung („test.png“);
$im - > einstellen (Ausgang => „JPEG“,
undolevel => 5
);
$im - > die Größe neu bestimmen (320, 200);
$im - > Filter (maximales => 3,
mediancross => 7
);
$im - > rückgängig machen;
$im - > außer („test.jpg“);

undef ($im);

Diese Baugruppe zur Verfügung stellt eine objektorientierte Schnittstelle zu Pierre-e. Gougelets graphische Datei-Bibliothek.

GFL liefert eine komplette Einstellung Bildverarbeitungswerkzeuge und kann auf mehr als 300 Bildformate zurückgreifen.

GFL ist für nicht gewerblichen Gebrauch, Sie kann die späteste Version bei http://www.xnview.org ergreifen frei. Die Leute, die es in einer Handelsanwendung verwenden wünschen, müssen um um Ermächtigung zum Autor bitten.

6
Programmierung - Bibliotheken
Perl Artistic
GD:: Bild:: CopyIFS ist eine Perl-Baugruppe für das fractal-gegründete kopierende und die Größe neu bestimmende Bild.

SYNOPSE

# auf einen Bereich eines Bildes innen laut summen
Gebrauch GD:: Bild:: CopyIFS;
mein $width = 64;
mein $height = 60;
mein $scale = 4;
mein $neww = $scale * $width;
mein $newh = $scale * $height;
mein $src_file = src.jpeg;
mein $src_img = GD:: Image->newFromJpeg ($src_file, 1);
mein $dst_img = GD:: Image->new ($neww, $newh, 1);
meine @opts = ($src_img, 0, 0, 110, 120,
$neww, $newh, $width, $height);
$dst_img->copyIFS (@opts);
mein $dst_file = dst.jpeg;
öffnen (mein $fh, >, $dst_file) oder sterben „kann $dst_file nicht öffnen: $! “;
binmode $fh;
Druck $fh $im->jpeg;
enges $fh;

# ein die Größe neu bestimmtes Bild erstellen, das durch einen Faktor $scale eingestuft wird
Gebrauch GD:: Bild:: CopyIFS;
mein $src_file = src.jpeg;
mein $src_img = GD:: Image->newFromJpeg ($src_file, 1);
mein $scale = 2.45;
mein $dst_img = GD:: Image->thumbIFS ($src_img, Schuppe => $scale);
mein $dst_file = dst.jpeg;
öffnen (mein $fh, >, $dst_file) oder sterben „kann $dst_file nicht öffnen: $! “;
binmode $fh;
Druck $fh $im->jpeg;
enges $fh;

Diese Baugruppe addiert dem GD:: Bildbaugruppe GD zwei der Methoden: copyIFS, verwendet, um einen Bereich von einem Bild auf ein anderes Bild und das thumbIFS zu kopieren und die Größe neu zu bestimmen, verwendet, um ein rescaled Bild von einer Vorlage zu erstellen. Die copyIFS Methode wird analagously zu den copyResized oder copyResampled Methoden der GD Baugruppes angewendet.

Der Algorithmus setzte Gebrauch ein, was wie ein Fractal bekannt, der Funktion interpoliert, die ein wiederholtes Funktions-System verwendet (IFS), um die Funktionen zu interpolieren, die an den getrennten Punkten spezifiziert werden. Die grundlegende Prozedur ist, einen IFS zu erstellen, der auf den Pixelfarben eines Bildes basiert, und dann von diesem Konstruieren gründete ein neuer IFS auf den Parametern, die als rescaling einen Bereich des Bildes spezifiziert wurden. Ein gelegentlicher Iterationsalgorithmus wird dann verwendet, um ein Bild von diesem neuen IFS zu konstruieren. Für Sonderkommandos http://ecommons.uwinnipeg.ca/archive/00000026/ sehen.

Notiert, dass dieser Algorithmus gute Resultate für Bilder der natürlichen Nachrichten geben kann, da es im Allgemeinen eine Fractalnatur gibt, die in den meisten solchen Formen vorhanden ist. Es gewöhnlich gibt nicht gute Resultate für geometrischere Formen, wie Beschriftung.

7
Multimedia - Grafik
GPL (GNU Gene
Bildprojektor ist ein sehr einfacher Kommander Index. Aber geschrieben nach einem der 2-3 Tutorien können Sie auf dem Netz finden. Eingeschlossen im tarball können Sie diese Führung finden, um in Kommander GUI einzuführen. Die Site ist: http://applications.linux.com/article.pl?sid=04/12/17/2033227&tid=49 und geschrieben 2004 von Michał Kosmulski

Ich weiß, daß Leute Unterlagen des Programms. .but verwenden möchten dieses große sind sehr arm… diese Beispielhilfenleute, die etwas über einfache Reihe, combobox, Kennsatz und Anschlüsse zwischen den Signalen und Schlitzen. .very erlernen möchte sehr wichtig.

So hoffe ich, daß die Führung und das Beispiel nützlich sind.

8
Multimedia - Grafik
GPL (GNU Gene
QVV ist der Bildprojektor, der auf TrollTechs Quart Toolkit basiert! QVV ist klein, einfach, handlich (letztes man ist IMO). Jedoch sind die Quellen dort -- Sie können mit Ihrer eigenen Stellungnahme aufkommen.

MITTEILUNG: QVV 0.16 UND NEUERE VERSIONEN ERFORDERN QUART 3.x!

QVV erlaubt Ihnen, Verzeichnisse mit Luchs-wie Schnittstelle durchzustöbern, durchstöbern Ansichtbilder zunächst/prev Bild beim Zeigen des Bildfensters bild, oder in der Verzeichnisliste, können Geisterbildfenster und Verzeichnisdatenbanksuchroutinen mit einem einzelnen Schlüssel, das Verschieben, das mit Pfeiltasten einfach sind oder Maus und wenige andere Sachen außerdem geöffnet werden/geschlossen werden.

QVV ist nur wenig hundert Leitungen des Quellencodes und der Griffe, die Dateiformate so viel sind, wie Quart tut -- jpeg (alle Sortierungen von jpegs die jpeglib Träger), png, GIF, XPM und mehr.
9
Desktop Environment - Werkzeuge
LGPL (GNU Les
Bild die Größe neu bestimmen ist ein Service-Menü, das die Fähigkeit hinzufügt, ein Bild zu einer neuen Größe die Größe neu zu bestimmen.

Erfordert ImageMagick, KDialog und heftigen Schlag.
10
Programmierung - Bibliotheken
Perl Artistic
Bild:: Imlib2 ist eine Perl-Schnittstelle zur Bibliothek des Bildes Imlib2.

SYNOPSE

Gebrauch Bild:: Imlib2;

# ein neues Bild erstellen
mein $image = Bild:: Imlib2->new (200, 200);

# oder ein Bild laden
$image = Bild:: Imlib2->load („foo.png“);

# den Träger des Alphakanals aktivieren
$image->has_alpha (1);

# eine Farbe (rgba, also diese einstellen ist transparente Orange)
$image->set_color (255, 127, 0, 127);

# abgehobener Betrag ein Viereck
$image->draw_rectangle (50, 50, 50, 50);

# abgehobener Betrag ein gefülltes Viereck
$image->fill_rectangle (150, 50, 50, 50);

# abgehobener Betrag eine Leitung
$image->draw_line (0, 0, 200, 50);

# Qualität einstellen, bevor Sie sparen
$image->set_quality (50);

# außer heraus
$image->save (out.png);

# ein Polygon erstellen
mein $poly = Bild:: Imlib2:: Polygon->new ();

# etwas Punkte hinzufügen
$poly->add_point (0, 0);
$poly->add_point (100, 0);
$poly->add_point (100, 100);
$poly->add_point (0, 100);

# Fülle das Polygon
$poly->fill ();

# abgehobener Betrag, den er auf Bild schloß
$image->draw_polygon ($poly, 1);

# eine Farbenreichweite erstellen
mein $cr = Bild:: Imlib2:: ColorRange->new ();

# eine Farbe hinzufügen
mein ($distance, $red, $green, $blue, $alpha) = (15, 200, 100, 50, 20);
$cr->add_color ($distance, $red, $green, $blue, $alpha);

# abgehobener Betrag es
mein ($x, $y, $width, $height, $angle) = (20, 30, 200, 200, 1);
$image->fill_color_range_rectangle ($cr, $x, $y,
$width, $height, $angle);

Bild:: Imlib2 ist eine Perl-Öffnung von Imlib2, eine Graphikbibliothek, die Bilddateiladen und -einsparung sowie Handhabung, willkürlichen Polygonträger, usw. tut. Es tut ALLE diese Arbeitsweisen SCHNELL. Es erlaubt Ihnen, Farbenbilder using viele graphischen Grundelemente zu erstellen, und die Bilder in einer Reichweite der Formate auszugeben.

Bild:: Imlib2:: Polygon und Bild:: Imlib2:: ColorRange beschrieben nach Bild:: Imlib2 aber kann vor ihrer Beschreibung angesprochen werden.

Notiert, dass dieses eine frühe Version meines Versuchs an einer Perl-Schnittstelle zu Imlib2 ist. Aktuell ist die API gerade, Sachen heraus zu prüfen. Nicht alles unterstützt, aber viel Funktionalität existiert bereits. Wenn Sie denken, kann die API ein bißchen gezwickt werden, um intuitiver zu sein, fallenlassen mich eine Leitung!
Notiert, dass eine Entwicklungsversion von Imlib2 eingebaut werden muß, bevor man diese Baugruppe einbaut.

11
Multimedia - Grafik
BSD License
Ekspos ist Plattform unabhängiges Java-Bildprojektorprogramm. Ekspos Bild-Projektorträger das meiste populäre Bildformat: Png, jpeg und GIF, wo zusätzliches Bildformat durch Java steckbares ImageIO addiert werden kann.

Es besteht aus 2 Teilen: Shelldatenbanksuchroutine und -projektor. Shelldatenbanksuchroutine erlaubt Ihnen, Ihre Bildansammlung zu steuern und youll in der Lage ist, Bilder im Baum, im Sonderkommando, in der Liste, in der Ikone und in der Thumbnailansicht durchzustöbern. Der Projektor versehen progressive Ansicht von Bildern mit Summen- und Wannenfähigkeit.

Sind hier einige Hauptmerkmale „des Ekspos Bild-Projektors“:

· Bild-Format (Zahlungseinstellung): JPEG, png und GIF
· Träger ImageIO steckbar für zusätzliches Bild-Format
· Ansichten der Unterstützungs 4: Sonderkommando, Liste, Ikone und Thumbnail
· Thumbnail, der für schnelle Vorbetrachtung cachiert
· Völlig geschrieben in Java

12
Programmierung - Bibliotheken
Perl Artistic
Bild:: BMP ist eine Bit-Übersichtssyntaxanalyse/ein Projektor.

SYNOPSE

Gebrauch Bild:: BMP;

# Beispiel eins:
mein $img = neues Bild:: BMP (
Datei => some.bmp,
=> 1 ausprüfen,
);
$img->view_ascii;

# Beispiel zwei:
mein $img2 = neues Bild:: BMP;
$img2->open_file (another.bmp);
mein $color = $img2->xy (100.100); # Pixel bei 100.100 erhalten
mein ($r, $g, $b) = $img2->xy_rgb (100.200);

Bild:: Bmp-Nachrichten können analysieren und sogar formatieren ASCII-Ansichtbitmaps des .BMP. Es kann die meisten geläufigen Formularen dieses Formats lesen.

Es kann verwendet werden:

Bildinfo einfach erhalten, lesen nicht das vollständige Bild:

mein $img = neues Bild:: BMP (Datei => some.bmp);
Druck „Auflösung: $img-> {Breite} x $img-> {Höhe} N“;

Ansichtbilder

(C< SYNOPSE > Beispiel eine sehen)

Bilder lesen und an den Pixeln stoßen

(C< SYNOPSE > Beispiel zwei sehen)

Durch alle Pixeldaten analysieren

(C< sehen ADD_PIXEL > unten)

Es nicht aktuell schreibt bmap Daten, einfach, weil ich nicht einen Gebrauch für den noch hatte. Mich überzeugen und Kranke fügen es hinzu.

Beschränkungen:

4-bit RLE Komprimierung
· Havent I gesehen einem Bild mögen dieses schon, es würden sein nicht hart zu addieren.

bitfields Komprimierung
· Ich nicht sogar weiß, was das. ist.

RLE Deltakomprimierung
· Dieses wird nicht noch geprüft - I havent gesehen einem Bild, das diesen Teil RLE Komprimierung verwendet, also es tun aktuell, was ich habe Recht denke und drucken dann eine Meldung, die Sie bittet, mir das Bild/die Resultate zu schicken.

13
Programmierung - Bibliotheken
Perl Artistic
Bild:: ParseGIF kann ein GIF-Bild in seine compenent Teile analysieren.

SYNOPSE

Gebrauch Bild:: ParseGIF;

$gif = neues Bild:: ParseGIF („image.gif“) oder sterben „nicht können analysieren: $@n“;

# eine deanimated Version ausschreiben und nur den ersten Rahmen zeigen
$gif->deanimate (0);

# selben wieder, manuell Drucken jedes Teil
Druck $gif->header;
Druck $gif->part (0);
Druck $gif->trailer;
# oder, ohne Scalars herum zu führen:
$gif->print_header;
$gif->print_part (0);
$gif->print_trailer;


# einen lebhaften GIF-Rahmen durch Rahmen senden
# - bildet für eine Fortschrittsrechtsanwaltschaft, die wirklich etwas bedeutet
$gif = neues Bild:: ParseGIF („progress.gif“) oder sterben „nicht können analysieren: $@n“;

$gif->print_header;

$gif->print_percent (0.00); # beginnend…
do_some_work_stage1 ();

$gif->print_percent (0.10); # 10% komplett
do_some_work_stage2 ();

$gif->print_percent (0.25); # 25% komplett
do_some_work_stage3 ();

$gif->print_percent (0.70); # 70% komplett
do_some_work_stage4 ();

$gif->print_percent (1.00); # getan!

$gif->print_trailer;

Diese Baugruppe analysiert ein Graphik-Austausch-Format (GIF)bild in seine Bestandteile. Ein GIF besteht im Wesentlichen eine oder mehrere Bilder - Geisterbilder gewöhnlich verwendet für lebhafte gifs.

14
Programmierung - Bibliotheken
Perl Artistic
Bild:: ExifTool ist eine Perl-Baugruppe, die Meta-Informationen lesen und schreiben kann.

SYNOPSE

Gebrauch Bild:: ExifTool ImageInfo;

# ---- Einfacher prozeduraler Verbrauch ----

# Durcheinander der Meta-Informationsmarkennamen/-werte von einem Bild erhalten
$info = ImageInfo (a.jpg);

# ---- Objektorientierter Verbrauch ----

# ein neues Bild erstellen:: ExifTool Nachricht
$exifTool = neues Bild:: ExifTool;

# Auszug-Meta-Informationen von einem Bild
$exifTool->ExtractInfo ($file, %options);

# Liste der Marken in der Ordnung erhalten, die sie in der Datei gefunden
@tagList = $exifTool->GetFoundTags (Datei);

# den Wert einer spezifizierten Marke erhalten
$value = $exifTool->GetValue ($tag, $type);

# eine Markenbeschreibung erhalten
$description = $exifTool->GetDescription ($tag);

# den Gruppennamen erhalten verbunden mit dieser Marke
$group = $exifTool->GetGroup ($tag, $family);

# einen neuen Wert für eine Marke einstellen
$exifTool->SetNewValue ($tag, $newValue);

# neue Meta-Informationen zu einer Datei schreiben
$success = $exifTool->WriteInfo ($srcfile, $dstfile);

#… plus einen Host anderer nützlicher Methoden…

ExifTool liefert eine ausdehnbare Einstellung Perl-Baugruppee, um Meta-Informationen in die Bild-, Audio- und videodateien, einschließlich die Herstellermitteilunginformationen vieler Digitalkameras durch verschiedene Hersteller wie Canon, Casio, FujiFilm, JVC/Victor, Kodak, Blatt, Minolta/Konica-Minolta, Nikon, Olymp/Epson, Panasonic/Leica, Pentax/Asahi, Ricoh, Sanyo und Sigma/Foveon zu lesen und zu schreiben.

15
Programmierung - Bibliotheken
Perl Artistic
Bild:: PBMlib Perl-Baugruppe enthält Helferfunktionen für PBM/PGM/PPM Bild-Dateiformate.

SYNOPSE

Gebrauch Bild:: PBMlib;

… öffnen (PPMs, „< image.ppm“)…

mein $ref = readppmheader (*PPM);

meine @pixels = readpixels_raw (*PPM, $$ref {Typ},
($$ref {Breite} * $$ref {Höhe}));

meine @pixels = readpixels_dec (*PPM, $$ref {Typ},
($$ref {Breite} * $$ref {Höhe}));

mein @rgb = hextriplettoraw („F00BA4“);

mein @rgb = dectriplettoraw („17: 34: 51“);

mein $header = makeppmheader ($ref);

Dieses ist Haupt- eine Bibliothek für bewegliche Bitmap der Anzeige (PBM), bewegliches graymap (PGM) und bewegliche pixmap (PPM) Dateien. Diese Bildformate sind nur steigern von den rohen Daten und haben ein sehr einfaches Format das blank, das der Schlüssel ist, zum „Portable“ zu sein. Bilder in diesen Formaten auszuschreiben ist sehr einfach.

Bilder in diesen Formaten zu lesen ist auch einfach nicht ziemlich „sehr einfach“, aber. Korrekte Anzeige der Datei muß geschehen byteserielle eine, da es keine örtlich festgelegte Vorsatzlänge gibt. Vorsätze können Kommentar auch enthalten, die ignoriert werden muß. Dann einmal hinter dem Vorsatz, gibt es insgesamt sechs unterschiedliche Arten, die die Daten gelesen werden müssen konnten: eine rohe und ASCII-kodierung jedes Bildfarbenstandes.

16
Programmierung - Bibliotheken
GPL (GNU Gene
Exiv2 enthält Bibliothek und von einer Befehlszeile Hilfsprogramm von der Wechselstrom-++, um auf Bildmetadaten zurückzugreifen. Exiv2 ist freie Software und es wird unter die GPL-Öffentlichkeits-Lizenz freigegeben.

Exiv2 ist auch eine Befehlszeile Hilfsprogramm zu

· die Exif metadaten der JPEG-Bilder als Zusammenfassungsinfo, geübersetzte Werte oder die normalen Daten für jede Marke drucken (ist hier eine Probe)
· die Iptc metadaten der JPEG-Bilder drucken
· den JPEG-Kommentar der JPEG-Bilder drucken
· Exif und Iptc metadaten der JPEG-Bilder einstellen, addieren und löschen
· den Exif Zeitstempel (den einstellen ist, wie es ganz… begann)
· Exif Bilddateien entsprechend dem Exif Zeitstempel umbenennen
· Auszug, Einlage und Löschung Exif Metadaten, Iptc metadaten und JPEG-Kommentar
· Auszug, Einlage und löschen das Thumbnailbild, das in den Exif metadaten eingebettet wird

Sind hier einige Hauptmerkmale von „Exiv2“:


1. volles gelesen und Schreibzugriff zu den Exif und Iptc metadaten eines Bildes durch Schlüssel Exiv2 und StandardC++ iterators
2. eine intelligente Iptc Umsetzung, die nicht Daten bewirkt, die wie Photoshop Speicher im gleichen Bildsegment programmiert
3. Exif MakerNote Träger:
·MakerNote Marken können gerade wie alle mögliche anderen Exif metadaten erreicht werden
·ein hoch entwickeltes schreiben Algorithmus vermeidet, das MakerNote zu verderben:
O das MakerNote wird nicht verlagert, wenn möglich überhaupt und
Versatz O-MakerNote Ifd wird nachgerechnet, wenn das MakerNote verschoben werden muß (für bekanntes Ifd MakerNotes)
4. bilden neue Kamera,/Baumuster, die spezifisches MakerNotes der Bibliothek mit minimaler Bemühung auf OO-Form addiert werden kann (durch das Subclassing MakerNote oder IfdMakerNote)
5. Methoden für Exif Thumbnails (beide, JPEGund tiffthumbnails) extrahieren und löschen
6. gesetzte Methoden für Exif Thumbnails (nur JPEG, tiffthumbnails kann von den einzelnen Marken eingestellt werden)
7. komplette API-Unterlagen (durch Doxygen)
8. generische auf der unteren Ebenekategorien, zum auf der Ifd (Bild-Datei-Verzeichnis) Datenstrukturen zurückzugreifen

Was in diesem Auslösen neu ist:

· Dieses Beibehaltungsauslösen repariert einige Marken, addiert Träger für Minolta G500 ROHE Dateien und hat geringe Markenaktualisierungen und einige größere Übersetzungsaktualisierungen.

17
Programmierung - Bibliotheken
Perl Artistic
Bild:: Xpm ist eine Perl-Baugruppe, die xpm Bilddateien laden, herstellen, manipulieren und sparen kann.

SYNOPSE

Gebrauch Bild:: Xpm;

mein $j = Bild:: Xpm->new (- Datei, Camel.xpm);

mein $i = Bild:: Xpm->new (- Breite => 10, - Höhe => 16);

mein $h = $i->new; # Exemplar von $i

$i->xy (5, 8, Rote); # eine Farbe einstellen (u. Palette wenn notwendig addieren)
$i->xy (9, 3) drucken; # eine Farbe erhalten

$i->xy (120, 130, #1256DD);
$i->xy (120, 130, $i->rgb2colour (66, 0x4D, 31));

$i->vec (24, #808080); # eine Farbe using einen vektorversatz einstellen
$i->vec (24) drucken; # eine Farbe using einen vektorversatz erhalten

$i->get drucken (- Breite); # Objekt-Attribute erhalten und einstellen
$i->set (- Höhe, 15);

$i->load (test.xpm);
$i->save;

#, gerade die Palette ändernd
$i->add_colours (qw (rotes grün-blaues #123456 #C0C0C0));
$i->del_colour (blau);

Diese Kategorienbaugruppe liefert grundlegende Belastung, manipuliert und spart Funktionalität für das xpm Dateiformat. Sie übernimmt vom Bild:: Unterseite, die zusätzliche Handhabungsfunktionalität liefert, z.B. new_from_image (). Das Bild sehen:: Hülse zu Information auf dem Addieren Ihrer eigenen Funktionalität dem ganzem Bild gründen:: Berechnete Kategorien gründen.

neu ()
mein $i = Bild:: Xpm->new (- Datei => test.xpm);
mein $j = Bild:: Xpm->new (- Breite => 12, - Höhe => 18);
mein $k = $i->new;

Wir können ein neues xpm Bild erstellen, indem wir in einer Datei lesen oder indem wir ein Bild vom Kratzer (alle Pixel sind durch Zahlungseinstellung weiß) erstellen oder indem wir eine Bildnachricht kopieren, dass wir früh erstellten.

Wenn wir einstellen - Datei dann alle anderen Argumente werden ignoriert (seit dem theyre genommen von der Datei). Wenn wir nicht eine Datei spezifizieren, - Breite und - Höhe sind und vorgeschrieben - cpp führt zu 1 wenn nicht anders angegeben.

- Datei

Der Name der Datei zum zu lesen, wenn das Bild erstellt wird. Mag eine volle Bahn enthalten. Dieses ist auch der Zahlungseinstellungname, der für Laden und das Saveing verwendet wird, obwohl es übersteuert werden kann, wenn Sie laden oder sparen.

- Breite

Die Breite des Bildes; genommen von der Datei oder von der Einstellung, wenn die Nachricht erstellt wird; schreibgeschützt.

- Höhe

Die Höhe des Bildes; genommen von der Datei oder von der Einstellung, wenn die Nachricht erstellt wird; schreibgeschützt.

- cpp

Zeichen pro Pixel. Geläufig 1 oder 2, Zahlungseinstellung ist 1 für die Bilder, die durch die Baugruppe erstellt werden; schreibgeschützt.

Das Beispiel sehen, damit wie ein Bilder cpp ändern.

- hotx

Die Xkoordination des Bildkrisenherdes; genommen von der Datei oder von der Einstellung, wenn die Nachricht erstellt wird. Bis -1 einstellen, wenn es keinen Krisenherd gibt.

- hoty

Die Okoordination des Bildkrisenherdes; genommen von der Datei oder von der Einstellung, wenn die Nachricht erstellt wird. Bis -1 einstellen, wenn es keinen Krisenherd gibt.

- ncolours

Die Zahl einzigartigen Farben in der Palette. Das Bild kann alle möglicherweise nicht verwenden; schreibgeschützt.

- cindex

Ein Durcheinander, dessen Schlüssel Farbennamen, z.B. #123456 oder Blau sind und dessen Werte die Palettennamen z.B. # sind, usw.; schreibgeschützt. Wenn Sie hinzufügen möchten, schreiben mehr Farben zum Bild selbst einfach Pixel mit den neuen Farben using x-y; wenn Sie mehr Farben der Palette ohne notwendigerweise using sie in den Bildgebrauch add_colours hinzufügen möchten.

- Palette

Ein Durcheinander, dessen Schlüssel die Palette sind, benennt z.B. #, usw. und dessen Werte sind, hackt vom Farbentypen x Farben-Namenspaare, z.B. c => Rot, usw.; schreibgeschützt. Wenn Sie hinzufügen möchten, schreiben mehr Farben zum Bild selbst einfach Pixel mit den neuen Farben using x-y; wenn Sie mehr Farben der Palette ohne notwendigerweise using sie in den Bildgebrauch add_colours hinzufügen möchten.

- Pixel

Eine Zeichenkette der Palettennamen, die die Daten für das Bild selbst festsetzt; schreibgeschützt.

- extname

Der Name des Extensionstextes wenn überhaupt; geläufig XPMEXT; schreibgeschützt.

- extlines

Die Leitungen des Textes irgendwelcher Extensionen; schreibgeschützt.

- Kommentar

Eine Reihe (vielleicht leer) Kommentarzeilen, die in einer Datei waren, die innen gelesen wurde; sie werden ausgeschrieben, obgleich wir keine Garantie betreffend ihre Plazierung bilden; schreibgeschützt.
erhalten ()

mein $width = $i->get (- Breite);
mein ($hotx, $hoty) = $i->get (- hotx, - hoty);

Irgendwelche der Objekt-Attribute erhalten. Mehrfache Attribute können in einem einzelnen Aufruf gefordert werden.

Sehen x-y- und vec, um des Bildes selbst zu erhalten/gesetzte Farben.

einstellen ()
$i->set (- hotx => 120, - hoty => 32);

Stellen irgendwelche der Objekt-Attribute ein. Mehrfache Attribute können in einen einzelnen Aufruf eingestellt werden; einige Attribute sind schreibgeschützt.

Sehen x-y- und vec, um des Bildes selbst zu erhalten/gesetzte Farben.

x-y ()
$i->xy (4, 11, #123454); # stellen die Farbe an Punkt 4.11 ein
mein $v = $i->xy (9, 17); # die Farbe an Punkt 9.17 erhalten

Farben using x erhalten/einstellen, o-Koordinaten; Koordinaten beginnen mit 0. Wenn die Farbe nicht in der Palette existiert, wird es automatisch hinzugefügt.

Wenn er gerufen wird, um die Farbe einzustellen, ist der Wert zurückgebracht die Zeichen, die für diese Farbe in der Palette verwendet werden; wenn es, um gerufen wird, der Farbe den Wert ist zu erhalten zurückgebracht der Farbenname, z.B. Blau oder #f0f0f0, usw., z.B.

$colour = x-y ($x, $y); # z.B. #123456
$cc = x-y ($x, $y, $colour); # z.B.!

Wir nicht normalerweise heben den Rückholwert auf, wenn wir die Farbe einstellen.

vec ()
$i->vec (43, 0); # Unset das Bit an Versatz 43
mein $v = $i->vec (87); # das Bit an Versatz 87 erhalten

Bits using vektorversatz erhalten/einstellen; Versatz beginnt mit 0. Der Versatz eines Pixels ist ((o * Breite * cpp) + (x * cpp)).

Die Sortierung des Rückholwertes hängt ein ab, ob wir Anzeige (Erhalten) oder Schreiben (Einstellung) der Farbe sind - x-y für eine Erklärung sehen.

rgb2colour () und rgb2color ()
$i->rgb2colour (0xff, 0x40, 0x80); # Umsätze #ff4080
Bild:: Xpm->rgb2colour (10, 20, 30); # Umsätze #0a141e

Hilfskategorien- oder -nachrichtenmethoden, die drei ganze Zahlen annehmen und eine Farbennamenzeichenkette zurückbringen.

Belastung ()
$i->load;
$i->load (test.xpm);

Das Bild laden, dessen Name gegeben wird, oder, wenn keines Belastung das Bild gegeben wird, dessen Name in ist - Dateiattribut.

sparen ()
$i->save;
$i->save (test.xpm);

Sparen das Bild using den gegebenen Namen oder wenn keines außer dem Bild using den Namen in gegeben wird - Dateiattribut. Das Bild wird im xpm Format gespart.

add_colours () und add_colors ()
$i->add_colours (qw (#C0C0DD rotes Blau #123456));

Diese sind für das Addieren von Farben der Palette; Sie brauchen nicht, sie zu verwenden, um eine Pixelfarbe einzustellen - x-y für das verwenden.

Eine oder mehrere Farbennamen entweder als hex Zeichenketten oder als wörtliche Farbennamen addieren. Diese werden immer als Typ c-Farben addiert; Duplikate werden ignoriert.

Notiz:, wenn Sie gerade einige Pixel in den Farben einstellen möchten, die möglicherweise nicht in der Palette sein können, tun einfach so using x-y, da neue Farben automatisch hinzugefügt werden.

del_colour () und del_color ()
$i->del_colour (Grün);

Eine Farbe aus der Palette löschen; bringt undef zurück, wenn die Farbe nicht in der Palette ist, falsch (0) wenn die Farbe in der Palette aber auch im Bild ist, oder ausrichten (1), wenn die Farbe gelöscht worden ist (d.h. sie war in der Palette aber nicht verwendet im Bild).

18
Programmierung - Bibliotheken
Perl Artistic
Bild:: WorldMap ist eine Perl-Baugruppe, zum der graphischen Weltkarten von Daten herzustellen.

SYNOPSE

Gebrauch Bild:: WorldMap;
mein $map = Bild:: WorldMap->new („earth-small.png“, „maian/8“);
$map->add (4.91, 52.35, „Amsterdam.pm“);
$map->add (- 2.355399, 51.3828, „Bath.pm“);
$map->add (- 0.093999, 51.3627, „Croydon.pm“);
$map->draw („test.png“);

Diese Baugruppe hilft, graphische Weltkarten von Daten, wie der Perl-Händler-Weltkarte herzustellen (http://www.astray.com/Bath.pm/). Diese Baugruppe einläßt einige Kennsatzeinbauorte (Länge/Breite) und Ausgänge ein Bild d. Sie kann Text zu den Kennsätzen und zu den Versuchen anbringen, um zu überprüfen, ob Kennsätze nicht überlappen.

Es verwendet werden, um Bilder der Informationen wie zu erstellen „wo sind soll das ganzes Perl Händlergruppen? “, „, wo sind alle CPAN Spiegel?“ und so weiter.
Diese Baugruppe kommt mit einem low-resolution Bild der Welt. Zusätzliche größere Bilder nicht zusammengerollt worden mit der Baugruppe wegen ihrer Größe, aber sind an erhältlich: http://www.astray.com/WorldMap/

19
Verschiedenes - Drucken
GPL (GNU Gene
Holodeck10 aufgebaut using JAVA für den Betriebssystem Linux m-. Druck des Bild-Holodeck10 verwendet das log4j Paket von Free Software Foundation (www.apache.org) um das Protokollieren der debuging Informationen zu ermöglichen.

Das Projekt nutzt die ImageIO Kategorie, um den Speicherverbrauch zu verringern, der mit dem Aufbereiten von Bildern verbunden ist. Das gleichzeitige Paket, das jetzt mit JAVA 1.5 eingeschlossen, verwendet, um multi-threading des Aufbereitens zu handhaben.

Holodeck10 erlaubt dem Benutzer, Bilder auszuwählen, auf eine Standard-ZEICHEN sortierte in der LANDSCHAFTS- oder PORTRAIT-Lagebestimmung gedruckt zu werden und Seite eingestellt zu werden, entweder dann gedruckt. Die aktuelle Version unterstützt Layouts von 1x1, von 1x2, von 2x2, von 2x3, von 4x5 und von 6x8 entweder in der LANDSCHAFT oder im PORTRAIT.

Die Software verwendet ein filechooser mit einem filefilter, um die Bilddateien anzuzeigen, die erhältlich sind. Aktuell zuläßt das filefilter die Auswahl *.gif, *.jpg, *.jpeg, *.xcf, *.xpm und *.png der Dateien d.

Die SimpleDocument Schnittstelle in JAVA verwendet, um die Seite für Drucken zu formatieren.

20
Multimedia - Grafik
GPL (GNU Gene
Der Nautilus, der die Größe neu zu bestimmen steckbar ist, auswählte Bilder in zwei Formate er (px 500 u. 800). Kann als unabhängiger Index auch verwendet werden.

Meine Software
Sie haben noch keine Software. Klicken Sie auf Save "neben den einzelnen Software, um ihn zu speichern, um Ihre Software-Korb"
Verwandte Suche
Sponsored Links