32 lines
1.0 KiB
Kotlin
32 lines
1.0 KiB
Kotlin
import org.openrndr.application
|
|
import org.openrndr.color.ColorRGBa
|
|
import org.openrndr.drawImage
|
|
import org.openrndr.extra.color.colormatrix.grayscale
|
|
import org.openrndr.extra.color.colormatrix.tint
|
|
import org.openrndr.extra.propertywatchers.watchingImagePath
|
|
import org.openrndr.extra.propertywatchers.watchingProperty
|
|
|
|
fun main() = application {
|
|
program {
|
|
val state = object {
|
|
var path = "demo-data/images/image-001.png"
|
|
val image by watchingImagePath(::path) {
|
|
drawImage(it.width, it.height) {
|
|
drawer.drawStyle.colorMatrix = grayscale()
|
|
drawer.image(it)
|
|
}
|
|
}
|
|
val redImage by watchingProperty(::image, cleaner = { it.destroy() }) {
|
|
drawImage(it.width, it.height) {
|
|
drawer.drawStyle.colorMatrix = tint(ColorRGBa.RED)
|
|
drawer.image(it)
|
|
}
|
|
}
|
|
}
|
|
|
|
extend {
|
|
drawer.image(state.redImage)
|
|
}
|
|
}
|
|
}
|