Inks, Transparency: Mac vs Windows.
Scott Rossi
scott at tactilemedia.com
Sat May 6 04:16:36 EDT 2006
Recently, Richmond Mathewson wrote:
> I found this in the Metacard 2.5 documentation stack:
> [ stuff about inks snipped ]
> It just took a tiny, tiny bit of "oomf" to go and find it . . .
I'm not sure how reading the documentation takes "oomf" but the MC 2.5 info
is now somewhat out of date with regard to the Rev 2.7 engine.
>From the Rev 2.7 What's New doc:
Object-level Blend Modes
~~~~~~~~~~~~~~~~~~~~~~~~
The 'ink' property has been extended to be valid for all non-stack objects.
Inks will now work uniformly across all platforms and they have been
augmented with structural and imaging blend modes. The full list is now:
- Bitwise:
clear
noop
notSrcAnd
notSrcAndReverse
notSrcCopy
notSrcOr
notSrcOrReverse
notSrcXor
reverse
set
srcAnd
srcAndReverse
srcCopy
srcOr
srcOrReverse
srcXor
srcBic (equivalent to srcAndReverse)
notSrcBic (equivalent to srcAnd)
- Arithmetic:
blend
addPin
addOver
subPin
transparent
adMin
addMax
- Structural Blends (Ported-Duff operators):
blendClear
blendSrc
blendDst
blendSrcOver
blendDstOver
blendSrcIn
blendDstIn
blendSrcOut
blendDstOut
blendSrcAtop
blendDstAtop
blendXor
- Image Processing Blends
blendPlus
blendMultiply
blendScreen
blendOverlay
blendDarken
blendLighten
blendDodge
blendBurn
blendHardLight
blendSoftLight
blendDifference
blendExclusion
Although not traditionally applicable to alpha-enabled rendering, the
bitwise and arithmetic operators have been extended in the natural way to
the presence of an alpha channel by applying the operation to the
'overlapping region' of the source and destination pixels.
NB. The ink and opacity are completely independent - unlike the previous
implementation of blendlevel for images.
NB. Most of the structural blend modes require that an ancestor of the
object have an alpha channel - if this is not the case for a particular
object, it will be blended using the blendSrcOver operator. (Practically,
this means that any object with such a blend mode needs to have a container
as an ancestor that is acting as a transparency group - see later).
Important: In previous engine versions, an image with its blendlevel set
would have its ink implicitly set to 'blend'. This is no longer necessary
nor desirable with the new properties and this behavior has been removed. In
addition, upon importing, any image objects with an ink of 'blend' will have
this adjusted to blendSrcOver.
General Advice: The bitwise and arithmetic inks are still supported and
indeed have been extended to work with alpha channels, however the main
motivation for this is to allow easy evolution of existing applications to
use the 'blend*' collection of inks which in many cases are more powerful
and offer better effects.
NB. The image processing blends are the same as those defined for SVG 1.2.
Regards,
Scott Rossi
Creative Director
Tactile Media, Multimedia & Design
-----
E: scott at tactilemedia.com
W: http://www.tactilemedia.com
More information about the use-livecode
mailing list