From fa063211d4c2d0c86f517baa7f8596b6674c8a30 Mon Sep 17 00:00:00 2001 From: Keith Lazuka Date: Tue, 29 Sep 2009 20:32:41 -0400 Subject: [PATCH] images.loader: added image encode protocol --- basis/images/loader/loader.factor | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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 ;