Page 216
Quick Nav Bar
<<   Previous Contents
Selection
Op Index
Parent User Notes
Index
Glossary
Next   >>


Working with Image Data in your scripts

CALCULATE(PTM$,Opacity,PRESERVE,INVERTA,INVERTB,MASK,R,G,B,A)

This command performs a calculation between the current image and the image on the top of the stack. The current image is replaced by the result of the calculation. The image on the stack is not affected by the calculation.

$PTM is a string that specifies the pixel transfer mode to be used for the calculation. The following PTM's are available:

  • Matte
  • Additive
  • Addgray
  • AbsSubtract
  • Subtract
  • Subgray
  • Multiply
  • Divide
  • Dodge
  • Burn
  • Express
  • Exclude
  • HardLight
  • SoftLight
  • Overlay
  • Lighten
  • Darken
  • Hue
  • Saturation
  • Luma
  • Color
  • Clear
  • Behind
  • Dye
  • Dissolve
  • SoftDissolve
  • Mist
  • SoftMist
  • And
  • Or
  • Xor
  • Nand
  • Nor
  • Xnor

Opacity is a value from 0 to 100%. PRESERVE is a flag, that when set to 1, will cause the transparency of the active image to be preserved. INVERTA is a flag, that when set to 1, causes the active image to be inverted prior to the calculation. INVERTB is a flag, that when set to 1, causes the image on the top of the stack to be inverted prior to the calculation. MASK is a flag that, when set to 1, causes the calculation to be performed using the current mask rather than for every pixel in the image regarless of the mask. R, G, B and A are flags that, when set to 1, cause those specific channels to be included in the calculation. If all of R, G B and A are set to 0, the CALCULATE command will have no effect.

o=SETOFFSET(level)

This command specifies the level for the ADDGRAY and SUBGRAY pixel transfer modes. The default level is 128, set whenever WinImages F/x starts. The previous value of the offset is returned from the function. The idea is that if you change this during the course of your script, you can save this value and then restore it when the script completes so the user's calculations using ADDGRAY and SUBGRAY aren't globally affected by the simple fact that your script ran once. You would do this:

10 o = SETOFFSET(22):REM set custom offset
20 REM do a bunch stuff
30 z = SETOFFSET(o):REM restore original offset, whatever it was

a$=SETPTM("name") [returns previous mode as string]
a$=SETCTM("name") [returns previous mode as string] (synonym for SETPTM)

This allows you to set the pixel (color) transfer modes. This will affect a number of operators, most importantly (for most scripts) texture and color fill operators.

Scripts should use the previous mode return feature to ensure that WinImages F/x is set back to the initial mode it was in when the script was called. This will avoid annoying and inconveniencing users of scripts you write (including you!) Use SETPTM() like this:

10 M$ = SETPTM("LIGHTEN")
20 REM do a bunch of script stuff using lighten
30 X$ = SETPTM("MATTE")
40 REM Now use matte, we'll be ignoring X$
50 X$ = SETPTM("MULTIPLY")
60 REM now use multiply
70 REM now we're done, so...
80 X$ = SETPTM(M$)
90 REM original mode is politely restored

You may use the following strings for the names (upper and lower case do not matter, case is used simply for clarity here):

  • Matte
  • Additive
  • Addgray
  • AbsSubtract
  • Subtract
  • Subgray
  • Multiply
  • Divide
  • Dodge
  • Burn
  • Express
  • Exclude
  • HardLight
  • SoftLight
  • Overlay
  • Lighten
  • Darken
  • Hue
  • Saturation
  • Luma
  • Color
  • Clear
  • Behind
  • Dye
  • Dissolve
  • SoftDissolve
  • Mist
  • SoftMist
  • And
  • Or
  • Xor
  • Nand
  • Nor
  • Xnor

a=GETALPHA(x,y)

Returns 0-255 value from the action image alpha channel.

a=GETALPHAU(x,y) (retrieves data from the undo buffer)

Returns 0-255 value from the alpha channel of the unmodified copy of the action image in the undo buffer.

a=GETBLUE(x,y)

Returns 0-255 value from the action image blue channel.

a=GETBLUEU(x,y) (retrieves data from the undo buffer)

Returns 0-255 value from the blue channel of the unmodified copy of the action image in the undo buffer.

a=GETGREEN(x,y)

Returns 0-255 value from the action image green channel.

a=GETGREENU(x,y) (retrieves data from the undo buffer)

Returns 0-255 value from the green channel of the unmodified copy of the action image in the undo buffer.

a=GETHUE(x,y)

Returns 0-359 degrees from the action image pixel.

a=GETHUE(x,y) (retrieves data from the undo buffer)

Returns 0-359 degrees from the pixel in the unmodified copy of the action image in the undo buffer.

a=GETLUMA(x,y)

Returns luma level as 0-255 from action image pixel.

a=GETLUMAU(x,y) (retrieves data from the undo buffer)

Returns luma level as 0-255 from unmodified copy of the action image in the undo buffer.

a=GETRED(x,y)

Returns 0-255 value from the action image red channel.

a=GETREDU(x,y) (retrieves data from the undo buffer)

Returns 0-255 value from the red channel of the unmodified copy of the action image in the undo buffer.

a=GETSAT(x,y)

Returns saturation as 0-100 from the action image.

a=GETSATU(x,y) (retrieves data from the undo buffer)

Returns saturation as 0-100 from the unmodified copy of the action image in the undo buffer.

a=PUTALPHA(x,y,value) [returns previous value]

Writes alpha as 0-255 to the action image.

a=PUTBLUE(x,y,value) [returns previous value]

Writes blue channel as 0-255 to the action image.

a=PUTGREEN(x,y,value) [returns previous value]

Writes green channel as 0-255 to the action image.

a=PUTHUE(x,y,value) [returns previous value]

Writes hue as 0-359 to the action image.

a=PUTLUMA(x,y,value) [returns previous value]

Writes luma as 0-255 to the action image.

a=PUTRED(x,y,value) [returns previous value]

Writes red channel as 0-255 to the action image.

a=PUTSAT(x,y,value) [returns previous value]

Writes saturation as 0-100 to the action image.


Quick Nav Bar
<<   Previous Contents
Selection
Op Index
Parent User Notes
Index
Glossary
Next   >>
Page 216

WinImages F/x, WinImages Morph and all associated documentation
Copyright © 1992-2007 Black Belt Systems ALL RIGHTS RESERVED Under the Pan-American Conventions

WinImages F/x Manual Version 7, Revision 5, Level B

HTML Documentation Management System © 1992-2007 Black Belt Systems