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 |
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
- GMImage.GetDensity
- GMImage.New
- GMImage.NewFromContainer
- GMImage.Release
- GMImage.Scale
- GMImage.SetEndian
- GMImage.SetProfile
- GMImage.SetResolutionUnits
- GMImage.WriteToJPEGContainer
- GMImage.WriteToPDFContainer
Release notes
- Version 9.5
- Changed GMImage.SetDensity to set resolution units to pixel per inch if not set.
Example Databases
Blog Entries
This function checks for a license.
Created 18th August 2014, last changed 17th February 2024