PNMPASTE(1)

πŸ“¦
version 11.13.03 Β· 4 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

okay so bestie, welcome to pnmpaste β€” the Netpbm user manual (section 1, General Commands Manual) page that teaches you how to paste a rectangle into a PNM image ✨


πŸŽ€ SYNOPSIS πŸŽ€

pnmpaste

[-replace | -or | -and | -xor | -nor | -nand | -nxor]

frompnmfile x y [intopnmfile]

and pssst β€” you can abbreviate all options to their shortest unique prefix πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

This program is part of Netpbm(1). iconic family, no notes πŸ’…

pnmpaste reads two PNM images as input and inserts the first image (the "pasted image") into the second one (the "base image") at the location you specify, then produces a PNM image the same size and type as the base image as output. literally the base image walked out of the salon with a little rectangle of new lewk 🌸

Either file name argument (but not both) may be - to indicate Standard Input. And if you don't specify the second file argument at all, that's the same as -. no pressure, it's giving flexible 🫢

x and y specify the location in the base image at which to put the top left corner of the pasted image β€” x giving the horizontal position and x giving the vertical position. A nonnegative value indicates the number of pixels right of the right edge or below the top edge of the base image, while a negative value indicates the number of pixels right of the right edge or below the bottom edge (so x = -5 means 5 pixels left of the right edge). negative numbers are just coordinates with main character energy 😌

⚠️ bestie listen β€” if any part of the pasted image does not fit within the base image, pnmpaste fails. no vibes-based rescuing, it simply will not 🚫

This tool is most useful in combination with pamcut. For instance πŸ‘‡ if you want to edit a small segment of a large image, and your image editor cannot edit the large image, you can cut out the segment you are interested in, edit it, and then paste it back in. the classic cut-edit-paste pipeline, we love a workflow that ate πŸ’–

Another useful companion tool is pbmmask. ✨

pamcomp is a more general tool, except that it lacks the "or," "and," and "xor" functions. pamcomp also lets you specify a transparency mask so only part of the inserted image actually gets inserted β€” meaning the inserted pixels need not be a rectangle. And you can even have the inserted image be translucent, so the resulting image is a mixture of the inserted image and the base image. fancy fr fr 🌈


✨ OPTIONS ✨

On top of the options common to all programs based on libnetpbm (most notably -quiet, see Common Options πŸ‘€), pnmpaste recognizes these command line options:

  • -replace, -or, -and, -xor, -nor, -nand, -nxor β€” these options specify the operation to use when doing the paste. The default is -replace, which means the obvious paste: replace pixels of the "into" image with those of the "from" image. and -and, -nand, -or, -nor, -xor, and -nxor are allowed only if both input images are PBM images. They say to combine the "from" and "into" images by performing boolean operations: each pixel of the output image is the result of the boolean operation on the corresponding pixels of the two input images, where white is TRUE and black is FALSE. 🧠✨ and note that this is different from what you would get by doing a bit arithmetic on the bits in the PBM images, because in PBM, white is represented by a 0 bit, and 0 in bit arithmetic corresponds to FALSE in boolean arithmetic. it's giving tricky, don't get caught out πŸ’€ also β€” -nand, -nor, and -nxor were new in Netpbm 10.85 (December 2018) πŸŽ‰

🌸 SEE ALSO 🌸

pamcomp(1), pamcut(1), pnminvert(1), pnmarith(1), pbmmask(1), pnm(1) β€” go read the whole squad, they're all lowkey essential πŸ’œ


πŸ‘‘ AUTHOR πŸ‘‘

Copyright (C) 1989, 1991 by Jef Poskanzer. respect the legend, periodt 🫑


πŸ“š 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/pnmpaste.html

and that's a wrap bestie πŸŽ€ this was the Netpbm documentation, dated 16 December 2018, from the Pnmpaste User Manual(1) β€” slay, go paste something iconic βœ¨πŸ’–πŸ¦‹

πŸ“¦ where this page comes from