man > pnmscalefixed(1)

⚡ TLDR: pnmscalefixed (tldr-pages)

Scale a PNM file quickly with possibly reduced quality.

  • Scale an image such that the result has the specified dimensions
    pnmscalefixed {{-w|-width}} {{width}} {{-h|-height}} {{height}} {{path/to/input.pnm}} > {{path/to/output.pnm}}
  • Scale an image such that the result has the specified width, keeping the aspect ratio
    pnmscalefixed {{-w|-width}} {{width}} {{path/to/input.pnm}} > {{path/to/output.pnm}}
  • Scale an image such that its width and height is changed by the specified factors
    pnmscalefixed {{-xsc|-xscale}} {{x_factor}} {{-ysc|-yscale}} {{y_factor}} {{path/to/input.pnm}} > {{path/to/output.pnm}}
Pnmscalefixed User Manual(1)           General Commands Manual          Pnmscalefixed User Manual(1)

NAME
       pnmscalefixed - scale a PNM file quickly


DESCRIPTION
       This program is part of Netpbm(1).

       pnmscalefixed  is like pamscale except that it uses fixed point arithmetic internally instead
       of floating point, which may make it run faster.  In turn, it is less accurate and  may  dis‐
       tort the image.  It also lacks many of the features of pamscale.

       Use  the  pamscale  user manual with pnmscalefixed.  This document only describes the differ‐
       ence.  Avoid any feature mentioned in the pamscale manual as not existing before Netpbm 9.9.

       pnmscalefixed uses fixed point 12 bit arithmetic.  By contrast, pamscale uses floating  point
       arithmetic which on most machines is probably 24 bit precision.  This makes pnmscalefixed run
       faster (30% faster in one experiment), but the imprecision can cause distortions at the right
       and bottom edges.

       The  distortion  takes  the  following form: One pixel from the edge of the input is rendered
       larger in the output than the scaling factor requires.  Consequently, the rest of  the  image
       is  smaller than the scaling factor requires, because the overall dimensions of the image are
       always as requested.  This distortion will usually be very hard to see.

       pnmscalefixed with the -verbose option tells you how much distortion there is.

       The amount of distortion depends on the size of the input image and  how  close  the  scaling
       factor is to an integral 1/4096th.

       If  the scaling factor is an exact multiple of 1/4096, there is no distortion.  So, for exam‐
       ple doubling or halving an image causes no distortion.  But reducing it or enlarging it by  a
       third  would cause some distortion.  To consider an extreme case, scaling a 100,000 row image
       down to 50,022 rows would create an output image with all of the input squeezed into the  top
       50,000 rows, and the last row of the input copied into the bottom 22 rows of output.

       pnmscalefixed  could  probably  be modified to use 16 bit or better arithmetic without losing
       anything.  The modification would consist of a single constant in  the  source  code.   Until
       there is a demonstrated need for that, though, the Netpbm maintainer wants to keep the safety
       cushion afforded by the original 12 bit precision.

       pnmscalefixed does not have pamscale's -nomix option.


OPTIONS
       In  addition  to  the options common to all programs based on libnetpbm (most notably -quiet,
       see  Common Options ), pnmscalefixed recognizes the following command line options:



       -xsize

       -width

       -ysize

       -height

       -xscale

       -yscale

       -pixels

       -xysize

       -reduce

              These options determine the scale factors.  See the pamscale(1) user  manual  for  de‐
              tails.


       -verbose

              Report details of the transformation.



HISTORY
       pnmscalefixed  was  originally pnmscale. In Netpbm 9.9 (November 2000) pnmscale was rewritten
       to use floating point arithmetic; the former fixed point arithmetic version was renamed  pnm‐
       scalefixed.


SEE ALSO
       pamscale(1), pamstretch(1), pamstretch-gen(1), pbmreduce(1), pbmpscale(1), pamenlarge(1), pn‐
       mscale(1), pnm(1), pam(1)

DOCUMENT SOURCE
       This  manual  page  was  generated by the Netpbm tool 'makeman' from HTML source.  The master
       documentation is at

              http://netpbm.sourceforge.net/doc/pnmscalefixed.html

netpbm documentation                        01 July 2020                Pnmscalefixed User Manual(1)
pnmscalefixed(1) □✕
NAME DESCRIPTION OPTIONS
-xsize -width -ysize -height -xscale -yscale -pixels -xysize -reduce -verbose
HISTORY SEE ALSO DOCUMENT SOURCE

Generated by phpman v4.11.2-22-g9f413b4 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-10-03 15:16 @216.73.216.55
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^