14 lines
439 B
Common Lisp
14 lines
439 B
Common Lisp
;; Pixelate effect - creates blocky pixels
|
|
(require-primitives "image")
|
|
|
|
(define-effect pixelate
|
|
:params (
|
|
(block_size :type int :default 8 :range [2 64])
|
|
)
|
|
(let* ((w (image:width frame))
|
|
(h (image:height frame))
|
|
(small-w (max 1 (floor (/ w block_size))))
|
|
(small-h (max 1 (floor (/ h block_size))))
|
|
(small (image:resize frame small-w small-h "area")))
|
|
(image:resize small w h "nearest")))
|