Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Pnmpad User Manual(0)					 Pnmpad	User Manual(0)

       pnmpad -	add borders to a PNM image

       pnmpad [-white|-black] [-width=pixels] [-halign=ratio] [-mwidth=pixels]
       [-left=pixels]	[-right=pixels]	   [-height=pixels]    [-valign=ratio]
       [-mheight=pixels]  [-top=pixels]	 [-bottom=pixels] [-reportonly]	[-ver-
       bose] [pnmfile]

       This program is part of Netpbm(1).

       pnmpad reads a PNM image	as input and outputs a PNM image that  is  the
       input image plus	black or white borders of the sizes specified.

       If  you	just  need to convert an image to a certain size regardless of
       the original dimensions,	pamcut with the	-pad option may	 be  a	better

       pnmmargin  does	essentially the	same thing, but	allows you to add bor-
       ders of any color and requires all four borders to be the same size.

       You can use pamcomp to add borders of any content - solid color,
	 pattern, or whatever.	For example, if	you wanted to add 10 pixels of
	 borders to the	top and	bottom of a 100x100 image, you could create a
	 100x120 red image (e.g. with ppmmake) and then	use pamcomp
	 to insert your	100x100	image into the center of it.

       All  options  can  be abbreviated to their shortest unique prefix.  You
       may use two hyphens instead of one to designate an option.  You may use
       either  white  space  or	 an equals sign	between	an option name and its


       -black Set pad color.  Default is -black.





	      Specify amount of	left and right padding in pixels.

	      -left and	-right directly	specify	the amount of padding added to
	      the left and right sides,	respectively, of the image.

	      Alternatively,  you can specify -width and just one of -left and
	      -right and pnmpad	calculates the required	padding	on  the	 other
	      side  to make the	output width pixels wide.  If the -width value
	      is less than the width of	the input  image  plus	the  specified
	      padding, pnmpad ignores -width.

	      If  you specify all three	of -width, -left, and -right, you must
	      ensure that the -left and	-right padding are sufficient to  make
	      the image	at least as wide as -width specifies.  Otherwise, pnm-
	      pad fails.

	      When you specify -width without -left or -right, and  -width  is
	      larger  than the input image, pnmpad chooses left	and right pad-
	      ding amounts in a	certain	ratio.	That ratio defaults  to	 half,
	      but  you	can  set it to anything	(from 0	to 1) with the -halign
	      option.  If the input image is  already  at  least  as  wide  as
	      -width specifies,	pnmpad adds no padding.

	      Common values for	-halign	are:

       0.0    left aligned

       0.5    center aligned (default)

       1.0    right aligned

	      -mwidth=pixels says to pad to a multiple of pixels pixels.  E.g.
	      if pixels	is 10, the output image	width will be a	multiple of 10
	      pixels.	pnmpad	adds to	whatever padding the other options say
	      to do to get to this multiple.  It divides that padding  between
	      the  left	and right sides	of the image to	maintain the ratio the
	      other options produce.   E.g.  if	 you  say  -left=10  -right=10
	      -mwidth=50  with	a 100-pixel image, you end up with a 150-pixel
	      image with the extra padding split evenly	between	left and right
	      for  a  total  of	25 pixels of padding on	the left and 25	on the

	      Before Netpbm 10.23 (July	2004), pnmpad did not allow the	 -left
	      or -right	option together	with -width.

	      Before Netpbm 10.72 (September 2015), there is no	-mwidth.





	      These  options  determine	the vertical padding.  They are	analo-
	      gous to the horizontal padding options above.

		This causes pnmpad to write to Standard	Output	a  description
	      of the
		padding	 it would have done instead of producing an output im-
	      age.  See

	      below <#reportonly>  for a description of	this output and	ways
		to use it.

	      This option was new in Netpbm 10.89 (December 2019).

	      This causes verbose messages.

       When you	specify	-reportonly, pnmpad does not produce an
	 output	image.	Instead, it writes to Standard Output a	description of
	 padding it would have done without -reportonly.

       That description	is one line of text, containing	6 decimal numbers of
	 pixels, separated by spaces:

       o      left padding

       o      right padding

       o      top padding

       o      bottom padding

       o      output width

       o      output height


	     4 3 0 2 100 100

       One use for this	is to make padding which is fancier than the black and
	 white that pnmpad can do.

       In the following	example, we pad	an image with 10 pixels	of gray	all
	 around, without knowing the original image dimensions beforehand.  We
	 this by generating a gray image with pbmmake and then pasting the
	 subject image into the	middle of it.

       The example uses	shell arrays, such as exist in Bash, but not Dash.

	     pad=($(pnmpad -reportonly -left=10	-right=10 -top=10 -bottom=10))
	     pbmmake -gray 10 10 | pnmpaste input.ppm ${pad[0]}	${pad[2]} -

       Before February 2002, pnmpad had	a different option  syntax  which  was
       less expressive and not like conventional Netpbm	programs.  That	syntax
       is still	understood by pnmpad for backward compatibility, but not docu-
       mented or supported for future use.

       pbmmake(1),  pnmpaste(1),  pamcut(1),  pnmcrop(1),  pamcomp(1), pnmmar-
       gin(1), pbm(5)

       Copyright (C) 2002 by Martin van	Beilen

       Copyright (C) 1990 by Angus Duggan

       Copyright (C) 1989 by Jef Poskanzer.

       Permission to use, copy,	modify,	and distribute this software  and  its
       documentation  for  any purpose and without fee is hereby granted, pro-
       vided that the above copyright notice appear in	all  copies  and  that
       both  that  copyright  notice and this permission notice	appear in sup-
       porting documentation.  This software is	provided "as is"  without  ex-
       press or	implied	warranty.

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

netpbm documentation		05 October 2019		 Pnmpad	User Manual(0)


Want to link to this manual page? Use this URL:

home | help