\ .\" This man page was generated by the Netpbm tool 'makeman' from HTML source. .\" Do not hand-hack it! If you have bug fixes or improvements, please find .\" the corresponding HTML page on the Netpbm website, generate a patch .\" against that, and send it to the Netpbm maintainer. .TH "Pamenlarge User Manual" 1 "07 January 2019" "netpbm documentation" .SH NAME pamenlarge - Enlarge a Netpbm image N times by duplicating pixels .UN synopsis .SH SYNOPSIS \fBpamenlarge\fP [\fB-scale=\fP\fIinteger\fP] [\fB-xscale=\fP\fIinteger\fP] [\fB-yscale=\fP\fIinteger\fP] [\fIfilename\fP] \fBpamenlarge\fP \fIN\fP [\fIpnmfile\fP] .UN description .SH DESCRIPTION .PP This program is part of .BR "Netpbm" (1)\c \&. .PP \fBpamenlarge\fP reads a Netpbm image as input, replicates its pixels \fIN\fP times, and produces a Netpbm image as output. The output is the same type of image as the input. .PP If you enlarge by a factor of 3 or more, you should probably add a \fBpnmsmooth\fP step; otherwise, you can see the original pixels in the resulting image. .PP For PBM images, \fBpamenlarge\fP uses special fast algorithms for scale factors up to 10. For larger factors, it uses a simple but slow algorithm. As a result, you can often get a significantly faster scale by running \fBpamenlarge\fP multiple times. For example, enlarging by 3 and then by 5 is faster than enlarging once by 15. And because the algorithms are different for the different scale factors, some faster than others, the order matters too. For example, the following examples all produce the same output -- an image 15 times bigger on edge than the input -- but at different speeds, each being faster than the one before. .nf \f(CW $ pamenlarge -scale=15 test.pbm $ pamenlarge -scale=5 test.pbm | pamenlarge -scale=3 $ pamenlarge -scale=3 test.pbm | pamenlarge -scale=5 \fP .fi .PP The special fast cases for factors up to 10 have existed since Release 10.50 (March 2010). The special cases for 1, 2, 3, and 5 go back to Release 10.41 (December 2007). Before 10.41, there are no special scale factors and PBM enlargement is significantly slower than today for all scale factors. .PP \fBpamenlarge\fP can enlarge only by integer factors. The slower but more general \fBpamscale\fP can enlarge or reduce by arbitrary factors. \fBpamscale\fP allows you to enlarge by resampling, which gives you smoother enlargements. But it is much slower. .PP \fBpamstretch\fP is another enlarging program that enlarges by integer factors. It does a simple kind of resampling that gives you a smoothed enlargement with less computational cost. .PP \fBpbmreduce\fP can reduce by integer factors, but only for PBM images. .UN arguments .SH ARGUMENTS .PP As with most Netpbm programs, you can give the input file name as an argument or omit that argument and have it come from Standard Input (and you can specify '-' for the argument to specify Standard Input explicitly). .PP You can also specify the scale factor as an argument, for backward compatibility, but the preferred way to do that is with a \fB-scale\fP option, because it is easier to remember and read that way. The scale factor argument goes before the file name argument. .UN options .SH OPTIONS .PP In addition to the options common to all programs based on libnetpbm (most notably \fB-quiet\fP, see .UR index.html#commonoptions Common Options .UE \&), \fBpamenlarge\fP recognizes the following command line options: .TP \fB-scale=\fP\fIinteger\fP .TP \fB-xscale=\fP\fIinteger\fP .TP \fB-yscale=\fP\fIinteger\fP These specify the scale factor. \fB-xscale\fP specifies the horizontal scale factor; \fB-yscale\fP specifies the vertical scale factor and \fB-scale\fP specifies both. .sp If you specify \fB-xscale\fP but not \fB-yscale\fP, \fBpamenlarge\fP does not scale vertically (i.e. the vertical scale factor is 1). The converse applies if you specify \fB-yscale\fP and not \fB-xscale\fP. .sp You cannot specify \fB-scale\fP and also \fB-xscale\fP or \fByscale\fP. .sp You must specify at least one of these options, unless you use the deprecaated method of specifying the scale factor via argument. .sp These options were all new in Netpbm 10.86 (March 2019). Before that, use the scale argument. .UN history .SH HISTORY .PP \fBpamenlarge\fP was new in Netpbm 10.25 (October 2004). It is designed as a replacement for \fBpnmenlarge\fP by Jef Poskanzer, which was in Pbmplus as far back as 1989. The major difference is that \fBpamenlarge\fP can enlarge PAM format images in addition to PNM. .UN seealso .SH SEE ALSO .BR "pbmreduce" (1)\c \&, .BR "pamscale" (1)\c \&, .BR "pamstretch" (1)\c \&, .BR "pbmpscale" (1)\c \&, .BR "pnmsmooth" (1)\c \&, .BR "pnm" (1)\c \& .UN author .SH AUTHOR Copyright (C) 1989 by Jef Poskanzer. .SH DOCUMENT SOURCE This manual page was generated by the Netpbm tool 'makeman' from HTML source. The master documentation is at .IP .B http://netpbm.sourceforge.net/doc/pamenlarge.html .PP