-
Notifications
You must be signed in to change notification settings - Fork 3
/
pngdefry.1
127 lines (124 loc) · 3.67 KB
/
pngdefry.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
..
.\}
.\" ========================================================================
.\"
.IX Title "pngdefry 1"
.TH pngdefry 1 "2012-01-22" "pngdefry" "2012-01-22"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
pngdefry \- Removes \-iphone optimization and reorders RGB(A) pixels for PNG images
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 3
\& pngdefry [\-soaplvid] file.png [file.png [...]]
.Ve
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-s(suffix)\fR" 4
.IX Item "-s(suffix)"
Appends suffix to output file name.
.IP "\fB\-o(path)\fR" 4
.IX Item "-o(path)"
Writes output file(s) to path.
Note: without -s or -o, NO output will be created.
.IP "\fB\-a\fR" 4
.IX Item "-a"
Do NOT de-multiply alpha.
.IP "\fB\-l\fR" 4
.IX Item "-l"
Lists all chunks.
.IP "\fB\-v\fR" 4
.IX Item "-v"
Verbose processing.
.IP "\fB\-i(value)\fR" 4
.IX Item "-i(value)"
Max IDAT chunk size in bytes (minimum: 1024; default: 524288).
.IP "\fB\-p\fR" 4
.IX Item "-p"
Processes all files, not just -iphone ones (for debugging purposed only).
.IP "\fB\-d\fR" 4
.IX Item "-d"
Very verbose processing (for debugging purposes only).
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
pngdefry attempts to remove \-iphone optimization from \s-1PNG\s0 files that are processed with Apple's modified pngcrush.
.PP
It removes the private critical data chunk "CgBI" if this is at the very start of the \s-1PNG\s0 file, unpacks IDAT chunks,
reverses BGR(A) pixel order to RGB(A), undoes pre-multiplied alpha, repacks IDAT chunks, and outputs all to a new file.
This is a command-line program with batch capabilities (e.g., pngdefry *.png).
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
None.
.SH "FILES"
.IX Header "FILES"
None.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIpngcheck\fR\|(1)
\&\fIpngcrush\fR\|(1)
.SH "AUTHORS"
.IX Header "AUTHORS"
Program was written by Jongware <[email protected]>.
.PP
This manual page was written by Jongware for
\s-1Mac OS X 10.7.2\s0 (but may be used by others). Released as "un-licensed" public domain software. For more information, please refer to <http://unlicense.org/>