Aceasta este comanda sng care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
sng - compilator/decompiler pentru Scriptable Network Graphics
REZUMAT
sng [-vV] [fişier...]
DESCRIERE
sng programul se traduce între formatul PNG (Portable Network Graphics) și SNG
format (grafică de rețea scriptabilă). SNG este un minilimbaj imprimabil și editabil pentru
descrierea fișierelor PNG. Cu sng, este ușor să vizualizați și să editați bucăți PNG exotice, nu
susținut de editori grafici; de asemenea, deoarece SNG este ușor de generat din scripturi, sng poate
fi util la sfârșitul unei conducte care generează în mod programatic imagini PNG.
O descriere SNG constă dintr-o serie de specificații de fragmente într-un text simplu editabil
format. Acestea corespund, în general, unu-la-unu bucăților PNG. Există o excepție; cel
Specificația fragmentului IMAGE este tradus automat într-o bucată IDAT (doing
împletire, compresie corespunzătoare etc.).
Având în vedere niciun argument de fișier, sng traduce stdin în stdout. În acest mod, îl verifică pe primul
caracter. Dacă acel caracter este imprimabil, se presupune că fluxul de intrare conține SNG; sng
caută un lider #SNG și încearcă să traducă fișierul în PNG. Dacă personajul este
neprintabil, se presupune că fluxul de intrare conține PNG; sng încearcă să o traducă în
SNG.
Pentru fiecare dosar care sng operează, își face conversia în funcție de extensia de fișier
(.png sau .sng). Fișierul rezultat are același nume în stânga punctului ca și originalul, dar
extensie și tip opus.
Opțiunea -V face sng identificați-vă și versiunea acesteia, apoi ieșiți. Opțiunea -v face
sng raportați despre fișierele pe care le convertește.
SNG LIMBA SINTAXĂ
În general, limbajul SNG este orientat pe token-uri, cu simboluri separate prin spații albe.
Oriunde poate apărea acel spațiu alb, un lider de comentariu „#” determină toate caracterele până la
următoarea linie nouă care urmează să fie ignorată. Caracterele „:” și „;” sunt tratate ca
spații albe, cu excepția `;' termină un element de date (vezi mai jos).
În descrierile de sintaxă de mai jos, liniile dintre {} pot apărea în orice ordine. Elemente
între paranteze în [] sunt opționale; o secvență între paranteze []* poate fi repetată orice număr de
ori. Elemente separate prin | sunt alternative. Elementele separate prin semne plus sunt an
set de atribute; orice secvență de unul sau mai multe dintre acele jetoane element este validă.
Elementele , , , , sunt octeți numerici, numere întregi scurte
literale numerice, numere întregi lungi și, respectiv, numerice flotante (toate fără semn). The
elementul este un literal numeric lung cu semn. Toate cifrele folosesc convențiile C; acesta este,
sunt zecimale dacă nu sunt conduse de 0x (hex) sau 0 (octal).
Elementul este orice număr de literale șir de caractere delimitate de ghilimele duble.
Escape-urile în stil C (\n, \t, \b, \r sau \ urmate de cifre octale sau hexadecimale) sunt interpretate. The
rezultatul este concatenarea tuturor literalelor.
Elementul este un cuvânt cheie PNG delimitat de ghilimele duble; adică un şir de nu mai mult
mai mult de 79 de caractere sau spații imprimabile Latin-1, fără început și fără final și nu
spatii consecutive.
A elementul constă dintr-o secvență de specificații de octeți în oricare dintre următoarele
formate. Unul sau ';' termină un literal de date; `}' termină, de asemenea, porțiunea încadrată.
1. şir formatul este un literal șir SNG sau o secvență de literali șir (vezi mai sus). The
octeții de date sunt conținutul șirului.
2. base64 formatul este semnalat de jetonul principal `base64'. Această codificare poate fi doar
utilizat atunci când valorile tuturor octeților sunt mai mici de 64. Acesta codifică fiecare octet ca un singur octet
caracter, cu cifre zecimale reprezentând valorile 0-9, urmate de AZ pentru 10-35,
urmat de az pentru 36-61, urmat de + pentru 62 și / pentru 63. Formatul Base64 poate fi utilizat dacă
imaginea fie are o adâncime de biți totală (culoare plus alfa) de patru sau mai puțin, fie este a
imagine spaletă cu 64 sau mai puține culori. Spațiile albe sunt ignorate. Rețineți că această codificare este
doar foarte vag legat de codificarea RFC2045 de bază-64, care utilizează o mapare diferită a
octeți în valori și acceptă codificarea datelor binare arbitrare.
3. hex formatul este semnalat de jetonul principal „hex”. În format hex, fiecare octet este
specificat de două cifre hexadecimale (0123456789abcdef), cel mai semnificativ primul. Spațiul alb este
ignorat.
4. P1 formatul este formatul Portable Bit Map (PBM) P1. Urmează o înălțime și lățime zecimală; aceasta
este o eroare fatală pentru ca ei să nu se potrivească cu dimensiunile IHDR. În urma acesteia, singurul
Se așteaptă ca caracterele fără spații albe să fie „0” și „1”, cu valorile evidente.
Spațiile albe sunt ignorate.
5. P3 formatul este formatul Portable Pixel Map (PPM) P3. Urmează o înălțime și lățime zecimală; aceasta
este o eroare fatală pentru ca ei să nu se potrivească cu dimensiunile IHDR. O valoare maximă a canalului în
urmează zecimală; este o eroare fatală ca orice valoare a canalului următor să depășească această valoare.
Urmează triplele valorilor canalului zecimal reprezentând triple RGB. Spatiu alb
separă valorile canalului zecimal, dar este ignorat altfel.
Un elementul poate fi extins la:
( , , ) |
Adică, este fie o listă de valori RGB inclusă în părinte, fie un șir care denumește o culoare numită
în baza de date X RGB. Rețineți că numele culorilor nu sunt neapărat portabile între gazde sau
chiar și afișaje, din cauza diferitelor gama de ecran și a distorsiunilor colorimetrice. Din acest motiv,
decompilatorul SNG generează nume de culori în comentarii.
Segmentele IMAGE conțin date raster dezambalate și neîntrețesate. Va fi exact unul
IMAGINE per dump SNG, care conține datele pixelilor din toate bucățile IDAT, cu excepția cazului în care opțiunea -i
este pornit. În acest caz, vor exista mai multe bucăți IDAT care conțin imagine brută (comprimată).
de date.
Opțiunile membre ale unei părți IMAGE (dacă este prezentă) setează transformări de scriere a imaginii,
furnizând al treilea argument al apelului png_write_png() folosit pentru ieșire. Rețineți că pentru
imagini cu o adâncime mai mică de 8, există o transformare implicită de „împachetare”.
Consultați libpng(3) pagina de manual pentru detalii.
Fiecare fișier SNG trebuie să înceapă cu șirul „#SNG”, urmat de versiunea SNG opțională
informații, urmate de un caracter două puncte (`:', ASCII 58). Restul primelor
linia este ignorată de SNG.
Comentariile din diagrama de sintaxă descriu semantica intenționată. Această specificație ar trebui să fie
citit împreună cu standardul PNG.
IHDR {
înălţime
lăţime
adâncimea de biți
[folosind tonuri de gri+paleta+culoare+alfa]
[cu interlace] # Adam7 a presupus dacă se întrețesește
}
PLTE {
[ ]* # RGB triple sau nume de culori X
}
IDAT {
}
gAMA { }
cHRM {
alb ( , ) # Punctul alb x și y
roșu ( , )
verde ( , )
albastru ( , )
}
sRGB { } # Intenție colorimetrie, interval 0-3
iCCP { # Profil International Color Consortium
Nume
profil
}
sBIT {
roșu # Numai imagini color
albastru # Numai imagini color
verde # Numai imagini color
gri # Numai imagini în tonuri de gri
alfa # Imagini numai cu alfa
}
bKGD {
roșu # Numai imagini color
albastru # Numai imagini color
verde # Numai imagini color
gri # Numai imagini în tonuri de gri
index # Numai imagini în paletă
}
HIST {
[, ]* # Numărul trebuie să se potrivească cu dimensiunea paletei
}
tRNS {
[gri ] # Numai imagini în tonuri de gri
[roșu ] # Numai imagini în culori adevărate
[verde ] # Numai imagini în culori adevărate
[albastru ] # Numai imagini în culori adevărate
[ ]* # Numai imagini în paletă
}
phys {
xpixeli
ypixeli
[pe metru]
}
ORA {
an
lună
zi
ora
minut
al doilea
}
tEXt { # Bucățiune de text obișnuită
cuvânt cheie
text
}
zTXt { # Bucăți de text comprimat
cuvânt cheie
text
}
iTXt { # Cuvânt cheie internațional UTF-8
limba
cuvânt cheie
tradus # Traducerea cuvântului cheie
text
[comprimat]
}
opriri {
xoffset
yoffset
[unitate pixeli|micrometri]*
}
sPLT {
Nume
adâncime
[ , , ]* # Culoare urmată de alfa și frecvență
}
pCAL {
Nume
x0
x1
cartografiere liniar|euler|exponential|hiperboli unitate
[parametri ]
}
sCAL {
unitate metru|radian
lăţime
înălţime
}
IMAGINE {
opțiuni identity+packing+packswap+invert_mono
+shift+bgr+swap_alpha+invert_alpha+swap_endian+strip_filler
pixeli
}
gifg {
eliminarea
intrare
întârziere
}
giFx {
identificator # Trebuie să aibă 8 caractere
cod # Trebuie să aibă 3 caractere
date
}
privat { # Declarație de bucată privată
}
Utilizați sng online folosind serviciile onworks.net