---
name: "img-png"
section: "3tk"
platform: "linux"
package: "libtk-img-doc"
version: "1:2.0.1+dfsg1-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/img-png"
---

# img-png(3tk)

Portable Network Graphics format (png)

```

```

## NAME

img-png - Portable Network Graphics format (png)

## SYNOPSIS

package require **img::png ?2.0?**

```

```

## DESCRIPTION

**package require img::png**

Like all packages of **Img** it does *not* provide new commands, but extends the existing **Tk** command **image**, so that it supports files containing raster images in the Portable Network Graphics format (png). More specifically **img::png** extends **Tk**'s *photo* \[https://www.tcl.tk/man/tcl9.0/TkCmd/photo.html\] image type.

The name of the new format handler is **png**. This handler provides new additional configuration options. See section **Options** for more detailed explanations.

All of the above means that in a call like **image** **create photo** ?*name*? ?*options*?

- \[1\]

  Image data in png format (options **-data** and **-file**) is detected automatically.

- \[2\]

  The format name **png** is recognized by the option **-format**.

In addition the value of option **-format** is treated as a list and may contain any of the special options listed in section **Options**.

The package **img::png** is a sub-package of **Img**. It can be loaded as a part of the complete Img support, via **package require Img**, or on its own, via **package require img::png**.

## NOTES

- \[1\]

  Chapter *Image Metadata* of the **Img** manual page describes the parameters of the resolution related options.

## OPTIONS

The handler provides the following options:

- **-verbose** *bool*

  This option is supported for reading and writing. Available since version 1.4.6.

  If set to **true**, additional information about the read or written image is printed to stdout. Default is **false**.

- **-alpha** *double*

  This option is supported for reading only. Available since version 1.4.2.

  An additional alpha filtering value for the overall image, which allows the background on which the image is displayed to show through. This usually also has the effect of desaturating the image. The alpha value must be between 0.0 and 1.0. Specifying an alpha value, overrides the setting of the **-withalpha** flag, i.e. reading a file which has no alpha channel (Grayscale, RGB) will add an alpha channel to the image independent of the **-withalpha** flag setting.

- **-gamma** *double*

  This option is supported for reading only. Available since version 1.4.6.

  Use the specified gamma value when reading an image. This option overwrites gamma values specified in the file. If this option is not specified and no gamma value is in the file, a default value of 1.0 is used.

- **-withalpha** *bool*

  This option is supported for reading and writing. Available since version 1.4.1.

  If set to **false**, an alpha channel is ignored during reading or writing. Default is **true**.

  *Note:* This option was named **-matte** in previous versions and is still recognized.

- **-resolution** *xres* ?*yres*?

  This option is supported for writing only. Available since version 2.0.

  Set the resolution values of the written image file. If *yres* is not specified, it is set to the value of *xres*.

  If option is not specified, the *DPI* and *aspect* values of the metadata dictionary are written. If no metadata values are available, no resolution values are written.

- **-xresolution** *xres*

  This option is supported for writing only. Available since version 2.0.

  Set the horizontal resolution value of the written image file.

- **-yresolution** *yres*

  This option is supported for writing only. Available since version 2.0.

  Set the vertical resolution value of the written image file.

- **-tag** *key* *value*

  This option is supported for writing only. Available since version 2.0.

  Each key-value pair will be written as a named text chunk where the key provides the name of the chunk and the value its contents. Currently the maximum number of **-tag** specifications are 10.

## SEE ALSO

img, img-bmp, img-dted, img-flir, img-gif, img-ico, img-jpeg, img-pcx, img-pixmap, img-png, img-ppm, img-ps, img-raw, img-sgi, img-sun, img-tga, img-tiff, img-window, img-xbm, img-xpm

## COPYRIGHT

```
Copyright (c) 1995-2024 Jan Nijtmans <nijtmans@users.sourceforge.net>
Copyright (c) 2002-2024 Andreas Kupries <andreas_kupries@users.sourceforge.net>
Copyright (c) 2003-2024 Paul Obermeier <obermeier@users.sourceforge.net>
```
