Png

From PyMOLWiki
Revision as of 12:16, 5 June 2014 by Jaredsampson (talk | contribs) (Transparent Backgrounds: added example of ray_opaque_background setting)
Jump to: navigation, search

png writes a png format image file of the current image to disk.

USAGE

png filename[, width[, height[, dpi[, ray[, quiet]]]]]
  • filename = string: file path to be written
  • width = integer or string: width in pixels (integer or string without units), inches (in), or centimeters (cm). If unit suffix is given, `dpi` argument is required as well. If only one of `width` or `height` is given, the aspect ratio of the viewport is preserved. {default: 0 (current)}
  • height = integer or string: height (see width) {default: 0 (current)}
  • dpi = float: dots-per-inch {default -1.0 (unspecified)}
  • ray = 0 or 1: should ray be run first {default: 0 (no)}
  • quiet = 0 or 1: if 1, logged output is suppressed. {default: 0}

PYMOL API

cmd.png(string filename, int width=0, int height=0, float dpi=-1, int ray=0, int quiet=0)

COMMENTS

Blank Screen Shots

If, when you execute the Png command, you get blank images, you may have to Ray trace your image first, before running the Png command. This occurs when there is no device context for the image, such as when running PyMOL in quiet gui-less mode. If the ray tracing is taking too long due to scene complexity or size, then please see the Ray page or search the wiki for information about making movies with PyMOL (there are many ways to speed up rendering).

Transparent Backgrounds

Use the `ray_opaque_background` setting to output images with transparent backgrounds.

set ray_opaque_background, 0

This can be useful for presentations, images that are placed on top of a background of nonuniform color (e.g. gradients), and images that overlap text or other images.

DPI Setting

Use the DPI option to have PyMol set the DPI of your image. Executing the command

png /tmp/ex.png, width=1200, height=1200, dpi=300, ray=1

will ouput a four-inch square image at 300dpi. Leaving off the dpi parameter would yield a 1200x1200 image at your system's default pixel density (e.g. 72 or 96 dpi). This saves the intermediate step of having to use GIMP/PhotoShop/etc to rescale your photos for publication.