Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
GMImage.CompositeXY
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 | |
xOffset | The x offset. | 0 | |
yOffset | The y offset. | 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.You can use this function for example to add a watermark image.
Examples
Compose a picture on second:
# load images...
Set Variable [ $Image1 ; Value: MBS( "GMImage.NewFromFile"; "/Users/cs/Pictures/IMG_3625.jpg") ]
Set Variable [ $Image2 ; Value: MBS( "GMImage.NewFromFile"; "/Users/cs/Pictures/mond.jpg") ]
# put first on second
Set Variable [ $r ; Value: MBS( "GMImage.CompositeXY"; $Image2; $Image1; 500; 200) ]
# 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.CompositeXY"; $NewImageRef; $BigImageRef; 0; 0; 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.Composite
- GMImage.CopyChannel
- GMImage.Free
- GMImage.GetHeight
- GMImage.GetWidth
- GMImage.New
- GMImage.NewFromContainer
- GMImage.NewFromFile
- GMImage.Release
- GMImage.WriteToJPEGContainer
Example Databases
- GraphicsMagick/Apply Mask
- GraphicsMagick/Clip Image
- GraphicsMagick/Combine Pictures
- GraphicsMagick/Create GIF
- GraphicsMagick/Reduce Image
Blog Entries
- GraphicsMagick in FileMaker, part 24
- GraphicsMagick in FileMaker, part 22
- Circle crop images in FileMaker with MBS Plugin
- QR Codes for Invoices in Switzerland
FileMaker Magazin
This function checks for a license.
Created 18th August 2014, last changed 28th August 2022