final case class PenImage(src: D = 1.0, alpha: D = 1.0, dst: D = 0.0, width: I, height: I, x: D = 0, y: D = 0, next: B = false, rule: I = PenImage.SrcOver, op: I = BinaryOp.Plus.id, wrap: I = 0, rollOff: D = 0.86, kaiserBeta: D = 7.5, zeroCrossings: I = 0) extends SingleOut[Double] with Product with Serializable
A UGen that writes the pixels of an image using an x and y input signal.
It uses either a sinc-based band-limited resampling algorithm, or
bicubic interpolation, depending on the zeroCrossings parameter.
All window defining parameters (width, height)
are polled once per matrix. All writing and filter parameters are polled one per
output pixel.
- src
the source signal's amplitude or "pen color"
- alpha
the alpha component of the source signal (0.0 transparent to 1.0 opaque).
- dst
the "background" image to draw on. A
DC(0.0)can be used, for example, to have a "black" background.- width
the width (number of columns) of the input and output matrix
- height
the height (number of rows) of the input and output matrix
- x
horizontal position of the dynamic pen signal
- y
vertical position of the dynamic pen signal
- next
a trigger that causes the UGen to emit the current image and begin a new one. An image of size
width * heightwill be output, and new background data will be read fromin.- rule
quasi-Porter-Duff rule id for composition between background (
in) and pen foreground. It is assumed thatAr = Ad = 1, and instead of addition we use a custom binary operationop. Where the constrain leads to otherwise identical rules, we flip the operand order (e.g.SrcOverversusSrcAtop).- op
BinaryOp.Opidentifier for the operand in the application of the Porter-Duff composition (+in the standard definition).- wrap
if non-zero, wraps coordinates around the input images boundaries. TODO: currently
wrap = 0is broken if using sinc interpolation!- rollOff
the FIR anti-aliasing roll-off width. Between zero and one.
- kaiserBeta
the FIR windowing function's parameter
- zeroCrossings
the number of zero-crossings in the truncated and windowed sinc FIR. If zero (default), algorithm uses bicubic interpolation instead.
- See also
- Alphabetic
- By Inheritance
- PenImage
- Serializable
- SingleOut
- SomeOut
- Lazy
- GE
- UGenSource
- Expander
- Lazy
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new PenImage(src: D = 1.0, alpha: D = 1.0, dst: D = 0.0, width: I, height: I, x: D = 0, y: D = 0, next: B = false, rule: I = PenImage.SrcOver, op: I = BinaryOp.Plus.id, wrap: I = 0, rollOff: D = 0.86, kaiserBeta: D = 7.5, zeroCrossings: I = 0)
- src
the source signal's amplitude or "pen color"
- alpha
the alpha component of the source signal (0.0 transparent to 1.0 opaque).
- dst
the "background" image to draw on. A
DC(0.0)can be used, for example, to have a "black" background.- width
the width (number of columns) of the input and output matrix
- height
the height (number of rows) of the input and output matrix
- x
horizontal position of the dynamic pen signal
- y
vertical position of the dynamic pen signal
- next
a trigger that causes the UGen to emit the current image and begin a new one. An image of size
width * heightwill be output, and new background data will be read fromin.- rule
quasi-Porter-Duff rule id for composition between background (
in) and pen foreground. It is assumed thatAr = Ad = 1, and instead of addition we use a custom binary operationop. Where the constrain leads to otherwise identical rules, we flip the operand order (e.g.SrcOverversusSrcAtop).- op
BinaryOp.Opidentifier for the operand in the application of the Porter-Duff composition (+in the standard definition).- wrap
if non-zero, wraps coordinates around the input images boundaries. TODO: currently
wrap = 0is broken if using sinc interpolation!- rollOff
the FIR anti-aliasing roll-off width. Between zero and one.
- kaiserBeta
the FIR windowing function's parameter
- zeroCrossings
the number of zero-crossings in the truncated and windowed sinc FIR. If zero (default), algorithm uses bicubic interpolation instead.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val alpha: D
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val dst: D
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val height: I
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val kaiserBeta: D
- def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
- Attributes
- protected
- Definition Classes
- PenImage → UGenSource
- def makeUGens(implicit b: Builder): UGenInLike[Double]
Abstract method which must be implemented by creating the actual
UGens during expansion. - final def name: String
- Definition Classes
- UGenSource
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val next: B
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val op: I
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val rollOff: D
- val rule: I
- val src: D
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- val width: I
- val wrap: I
- val x: D
- val y: D
- val zeroCrossings: I
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
- Deprecated