Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

GMImage.SetDensity

Sets the Vertical and horizontal resolution in pixels of the image.

Component Version macOS Windows Linux Server iOS SDK
GraphicsMagick 2.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "GMImage.SetDensity"; ImageRef; geometry )   More

Parameters

Parameter Description Example
ImageRef The image reference number. 1
geometry The rectangle. Geometry is specified as a width and height "100x200". "100x200"

Result

Returns "OK" on success.

Description

Sets the Vertical and horizontal resolution in pixels of the image.
Please use GMImage.SetResolutionUnits to define units.

Examples

Loads image and writes back with new DPI setting:

Set Variable [$ImageRef; Value:MBS("GMImage.NewFromContainer"; Test::BigImage)]
Set Variable [$Result; Value:MBS("GMImage.SetDensity"; $ImageRef; "300x300")]
Set Variable [$Result; Value:MBS("GMImage.SetQuality"; $ImageRef; 90)]
Set Field [Test::Result; MBS( "GMImage.WriteToJPEGContainer"; $ImageRef )]
Set Variable [$Error; Value:MBS("GMImage.Release";$ImageRef)]

Set resolution and remove all metadata with different resolution:

Let ( [ 

$Image = MBS("GMImage.NewFromContainer"; GraphicsMagick::image ); 
$r = MBS("GMImage.SetDensity"; $Image; "72x72") ;
$r = MBS(  "GMImage.SetProfile"; $Image; "EXIF"; "" ) ;
$r = MBS(  "GMImage.SetProfile"; $Image; "IPTC"; "" ) ;
$r = MBS(  "GMImage.SetProfile"; $Image; "XMP"; "" ) ;
$Result = MBS("GMImage.WriteToJPEGContainer"; $Image); 
$Error = MBS("GMImage.Release";$Image)
]; 

$Result

)

Standardize all images to a maximum of 800x800 points @ 144 dpi which is 1600x1600 pixels:

Set Variable [$ImageRef; Value:MBS("GMImage.NewFromContainer"; Test::BigImage)]
Set Variable [$Result; Value:MBS("GMImage.Scale"; $ImageRef; "1600x1600") // maximum size in pixels ]
Set Variable [$Result; Value:MBS("GMImage.SetResolutionUnits"; $ImageRef; 1) // resolution is in DPI ]
Set Variable [$Result; Value:MBS("GMImage.SetDensity"; $ImageRef; "144x144") // set the DPI value ]
Set Variable [$Result; Value:MBS("GMImage.SetQuality"; $ImageRef; 90) // save as JPEG with 90% ]
Set Field [Test::Result; MBS( "GMImage.WriteToJPEGContainer"; $ImageRef )]
Set Variable [$Error; Value:MBS("GMImage.Release";$ImageRef)]

See also

Release notes

  • Version 9.5

Example Databases

Blog Entries

This function checks for a license.

Created 18th August 2014, last changed 17th February 2024


GMImage.SetDefineValue - GMImage.SetDepth