Topics
All
Mac OS X
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server (Not)
Client
Old
Guides
Examples
New in version:
6.5
7.0
7.1
7.2
7.3
7.4
7.5
8.0
8.1
8.2
Statistic
GMImage.Scale
Resize image by using simple ratio algorithm.
Component | Version | macOS | Windows | Server | FileMaker Cloud | FileMaker iOS SDK |
GraphicsMagick | 2.0 | Yes | Yes | Yes | Yes | Yes |
MBS( "GMImage.Scale"; ImageRef; Geometry )
Parameters
Parameter | Description | Example value |
---|---|---|
ImageRef | The image reference number. | 1 |
Geometry | The rectangle. Geometry is specified as a width and height "100x200". With an optional offset "100x200+10+20". For percent values, add a percent on the end, for % values add a %: "100x200%!" | "300x200" |
Result
Returns "OK" on success.
Description
Resize image by using simple ratio algorithm.GraphicsMagick has added a number of qualifiers to the standard geometry string for use when resizing images. The form of an extended geometry string is "<width>x<height>{+-}<xoffset>{+-}<yoffset>{%}{!}{<}{>}". Extended geometry strings should only be used when resizing an image. Using an extended geometry string for other applications may cause the API call to fail. The available qualifiers are shown in the following table:
Qualifier | Description |
% | Interpret width and height as a percentage of the current size. |
! | Resize to width and height exactly, loosing original aspect ratio. |
< | Resize only if the image is smaller than the geometry specification. |
> | Resize only if the image is greater than the geometry specification. |
Examples
Scales the image to 50% with calculating ourself
Let ( [
$Image = MBS("GMImage.NewFromContainer"; GraphicsMagick::image);
$Width = MBS("GMImage.GetWidth";$Image);
$Height = MBS("GMImage.GetHeight";$Image);
$Width = $Width/2;
$Height = $Height/2;
$ScaleResult = MBS("GMImage.Scale";$Image; $Width & "x" & $Height);
$Result = MBS("GMImage.WriteToPNGContainer"; $Image);
$Error = MBS("GMImage.Destroy";$Image)
];
$Result)
Scales the image to 50% easily
Let ( [
$Image = MBS("GMImage.NewFromContainer"; GraphicsMagick::image);
$ScaleResult = MBS("GMImage.Scale";$Image; "50%");
$Result = MBS("GMImage.WriteToPNGContainer"; $Image);
$Error = MBS("GMImage.Destroy";$Image)
];
$Result)
Scales the image down to 640 pixel width, if it is bigger
Let ( [
$Image = MBS("GMImage.NewFromContainer"; GraphicsMagick::image);
$ScaleResult = MBS("GMImage.Scale";$Image; "640>");
$Result = MBS("GMImage.WriteToPNGContainer"; $Image);
$Error = MBS("GMImage.Destroy";$Image)
];
$Result)
Scale as script:
Set Variable [$Image; Value:MBS("GMImage.NewFromContainer"; Image Scaling::InputImage)]
Set Variable [$r; Value:MBS("GMImage.Scale"; $Image; "800x600")]
Set Field [Image Scaling::Result; MBS("GMImage.WriteToPNGContainer"; $Image)]
Set Variable [$r; Value: MBS("GMImage.Destroy"; $Image)]
Download picture and scale it down:
Set Variable [ $curl ; Value: MBS("CURL.New") ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionURL"; $curl; MIX::URL) ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionFollowLocation"; $curl; 1) ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionMaxRedirs"; $curl; 3) ]
Set Variable [ $result ; Value: MBS("CURL.Perform"; $curl) ]
Set Variable [ $debug ; Value: MBS( "CURL.GetDebugAsText"; $curl) ]
If [ $result = "OK" ]
Set Variable [ $Image ; Value: MBS( "CURL.GetResultAsContainer"; $curl) ]
Set Variable [ $ImageRef ; Value: MBS("GMImage.NewFromContainer"; $image) ]
If [ MBS("IsError") = 0 ]
Set Variable [ $r ; Value: MBS("GMImage.Scale";$ImageRef; "256x256>") ]
Set Variable [ $ScaledImage ; Value: MBS("GMImage.WriteToJPEGContainer"; $ImageRef) ]
If [ MBS("IsError") = 0 ]
Set Field [ MIX::Image ; $ScaledImage ]
End If
Set Variable [ $r ; Value: MBS("GMImage.Destroy";$ImageRef) ]
End If
End If
Set Variable [ $r ; Value: MBS("CURL.Cleanup"; $curl) ]
See also
- GMImage.Erase
- GMImage.Frame
- GMImage.GetWidth
- GMImage.New
- GMImage.NewFromContainer
- GMImage.Sample
- GMImage.Scaling
- GMImage.SetResolutionUnits
- GMImage.Shade
- GMImage.Shave
- GMImage.TransformScale
- GMImage.Wave
- GMImage.WriteToJPEGContainer
- GMImage.WriteToPNGContainer
- IsError
Example Databases
- Barcode/Swiss QR-Code for invoices ISO 20022
- GraphicsMagick/Clip Image
- GraphicsMagick/Create GIF
- GraphicsMagick/GraphicsMagick Sample
- GraphicsMagick/Image Scaling
- GraphicsMagick/Reduce Image
- GraphicsMagick/SVG to PNG
- Mac only/Machine Learning/Core ML Photos
GMImage.Sample - GMImage.Scaling
Feedback: Report problem or ask question.
Links
MBS Xojo Plugins