Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
GMImage.Composite
Compose an image onto another at specified offset and using specified algorithm.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
GraphicsMagick | 2.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
ImageRef | The image reference number. | 1 | |
OtherImageRef | The second image reference (a number returned from the GMImage.New functions) | 2 | |
GravityType | The Gravity Type. Can be ForgetGravity=0, NorthWestGravity=1, NorthGravity=2, NorthEastGravity=3, WestGravity=4, CenterGravity=5, EastGravity=6, SouthWestGravity=7, SouthGravity=8, SouthEastGravity=9, StaticGravity=10. |
0 | |
CompositeOperator | Optional operator. Can be one of the following numbers: UndefinedCompositeOp = 0, OverCompositeOp = 1, InCompositeOp = 2, OutCompositeOp = 3, AtopCompositeOp = 4, XorCompositeOp = 5, PlusCompositeOp = 6, MinusCompositeOp = 7, AddCompositeOp = 8, SubtractCompositeOp = 9, DifferenceCompositeOp = 10, MultiplyCompositeOp = 11, BumpmapCompositeOp = 12, CopyCompositeOp = 13, CopyRedCompositeOp = 14, CopyGreenCompositeOp = 15, CopyBlueCompositeOp = 16, CopyOpacityCompositeOp = 17, ClearCompositeOp = 18, DissolveCompositeOp = 19, DisplaceCompositeOp = 20, ModulateCompositeOp = 21, ThresholdCompositeOp = 22, NoCompositeOp = 23, DarkenCompositeOp = 24, LightenCompositeOp = 25, HueCompositeOp = 26, SaturateCompositeOp = 27, ColorizeCompositeOp = 28, LuminizeCompositeOp = 29, CopyCyanCompositeOp = 32, CopyMagentaCompositeOp = 33, CopyYellowCompositeOp = 34, CopyBlackCompositeOp = 35, DivideCompositeOp = 36. Default is 2. |
2 | Optional |
Result
Returns "OK" on success.
Description
Compose an image onto another at specified offset and using specified algorithm.Examples
Load image and compose it on another one:
# load images...
Set Variable [ $Image1 ; Value: MBS( "GMImage.NewFromFile"; "/Users/cs/Pictures/logo.png") ]
Set Variable [ $Image2 ; Value: MBS( "GMImage.NewFromFile"; "/Users/cs/Pictures/input.jpg") ]
# maybe scale it?
Set Variable [ $r ; Value: MBS( "GMImage.Scale"; $Image1; "500x500") ]
# put first on second
Set Variable [ $r ; Value: MBS( "GMImage.Composite"; $Image2; $Image1; 5; 1) ]
# and save to file
Set Variable [ $r ; Value: MBS( "GMImage.WriteToFile"; $Image2; "/Users/cs/Pictures/output.jpg") ]
# free memory
Set Variable [ $r ; Value: MBS( "GMImage.Release"; $Image1) ]
Set Variable [ $r ; Value: MBS( "GMImage.Release"; $Image2) ]
Compose transparent picture on top of white background:
# Load from container
Set Variable [ $BigImageRef ; Value: MBS("GMImage.NewFromContainer"; Test::BigImage) ]
# make new picture
Set Variable [ $NewImageRef ; Value: MBS("GMImage.New"; MBS("GMImage.GetWidth"; $BigImageRef) & "x" & MBS("GMImage.GetHeight"; $BigImageRef); "white") ]
# and compose
Set Variable [ $r ; Value: MBS( "GMImage.Composite"; $NewImageRef; $BigImageRef; 5 /* center */; 1 /* over */) ]
# Store output and release the image
Set Field [ Test::Result ; MBS( "GMImage.WriteToJPEGContainer"; $NewImageRef ) ]
Set Variable [ $Error ; Value: MBS("GMImage.Free";$BigImageRef) ]
Set Variable [ $Error ; Value: MBS("GMImage.Free";$NewImageRef) ]
See also
- GMImage.Colorize
- GMImage.CompositeXY
- GMImage.Free
- GMImage.GetHeight
- GMImage.New
- GMImage.NewFromFile
- GMImage.Release
- GMImage.SetCompose
- GMImage.WriteToFile
- GMImage.WriteToJPEGContainer
Release notes
- Version 8.0
- Fixed bug in GMImage.Composite with 4th parameter.
Example Databases
- Barcode/Swiss QR-Code for invoices/Swiss QR-Code for invoices ISO 20022
- GraphicsMagick/Annotate Image
Blog Entries
- GraphicsMagick in FileMaker, part 22
- MBS FileMaker Plugin, version 7.6pr5
- QR Codes for Invoices in Switzerland
FileMaker Magazin
This function checks for a license.
Created 18th August 2014, last changed 28th August 2022
