Is there any way to optmize the PNG files?

As of version 1.1, Greenshot has functionality to use PNG optimizers, like OptiPNG, which can reduce the filesize of PNG files drastically. Currently this functionality is disabled by default as we don't include a tool due to size and license reasons. So this feature needs to be enabled manually in the Greenshot.ini file (see Where does Greenshot store its configuration settings?) by configuring the path to the executable under the section [Core] in the setting OptimizePNGCommand and eventually (default works with OptiPNG) the command line arguments in the setting OptimizePNGCommandArguments. Note: The command is called whenever a PNG is written or uploaded, so if it is very slow Greenshot will take longer.

Example:

; Optional command to execute on a temporary PNG file, the command should overwrite the file and Greenshot will read it back. Note: this command is also executed when uploading PNG's!
OptimizePNGCommand=C:\Tools\optipng.exe</p>

; Arguments for the optional command to execute on a PNG, {0} is replaced by the temp-filename from Greenshot. Note: Temp-file is deleted afterwards by Greenshot.
OptimizePNGCommandArguments="{0}"
</code>

See also:
Where does Greenshot store its configuration settings?

ADVERTISEMENT