diff --git a/basis/images/loader/loader.factor b/basis/images/loader/loader.factor index acb0f2ca86..700b95eb41 100644 --- a/basis/images/loader/loader.factor +++ b/basis/images/loader/loader.factor @@ -1,9 +1,9 @@ ! Copyright (C) 2009 Doug Coleman, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. USING: accessors assocs byte-arrays combinators images -io.encodings.binary io.pathnames io.streams.byte-array -io.streams.limited kernel namespaces splitting strings -unicode.case sequences ; +io.encodings.binary io.files io.pathnames io.streams.byte-array +io.streams.limited kernel namespaces sequences splitting +strings unicode.case ; IN: images.loader ERROR: unknown-image-extension extension ; @@ -22,6 +22,8 @@ types [ H{ } clone ] initialize PRIVATE> +! Image Decode + GENERIC# load-image* 1 ( obj class -- image ) GENERIC: stream>image ( stream class -- image ) @@ -43,3 +45,11 @@ M: limited-stream load-image* stream>image ; M: string load-image* [ open-image-file ] dip stream>image ; M: pathname load-image* [ open-image-file ] dip stream>image ; + +! Image Encode + +GENERIC: image>stream ( image class -- ) + +: save-graphic-image ( image path -- ) + [ image-class ] [ ] bi + binary [ image>stream ] with-file-writer ;