Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
GMImage.MultiplyChannel
Multiplies all values in a channel.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
GraphicsMagick | 5.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
ImageRef | The image reference number. | 1 | |
Channel | Which channel to work with. Can be opacity, red, green or blue. The value rgb will apply effect to all three color channels. | "rgb" | |
Factor | The multiplication factor. Range from -1.0 to 1.0. | 0.1 | |
Add1 | The value to add before multiply. Usually between -65535 and 65535. | 0 | Optional |
Add2 | The value to add after multiply. Usually in range from -65535 to 65535. | 65535*0.9 | Optional |
Result
Returns OK or error.
Description
Multiplies all values in a channel.For every pixel component, we apply the formula:
newValue = ((Add1 + oldValue) * Factor) + Add2
This can be used to change brightness or make opacity less/more transparent.
Examples
Multiplies existing opacity channel to make image 90% transparent:
// existing values * 0.1 and add 90% to the value to move to higher range.
MBS("GMimage.MultiplyChannel"; $ImageRef; "opacity"; 0.1; 0; 255*0.9)
Invert image via multiply:
Set Variable [ $image ; Value: MBS( "GMImage.NewFromContainer"; Invert::Input ) ]
# each channel...
// Set Variable [ $r ; Value: MBS( "GMImage.MultiplyChannel"; $image; "red"; -1; 0; 65535) ]
// Set Variable [ $r ; Value: MBS( "GMImage.MultiplyChannel"; $image; "green"; -1; 0; 65535) ]
// Set Variable [ $r ; Value: MBS( "GMImage.MultiplyChannel"; $image; "blue"; -1; 0; 65535) ]
# all channels...
Set Variable [ $r ; Value: MBS( "GMImage.MultiplyChannel"; $image; "rgb"; -1; 0; 65535) ]
Set Field [ Invert::Output ; MBS( "GMImage.WriteToPNGContainer"; $image; "output.png") ]
Set Variable [ $r ; Value: MBS( "GMImage.Release"; $image) ]
See also
- GMImage.InvertChannel
- GMImage.New
- GMImage.NewFromContainer
- GMImage.Release
- GMImage.WriteToPNGContainer
Release notes
- Version 8.4
- Fixed GMImage.MultiplyChannel for 16-bit colors.
Example Databases
Blog Entries
This function checks for a license.
Created 3th February 2015, last changed 11st November 2019