]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Initial (skeleton) version of universal image format converter
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 27 Jan 1993 11:39:37 +0000 (11:39 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 27 Jan 1993 11:39:37 +0000 (11:39 +0000)
Demo/sgi/video/imgconv.py [new file with mode: 0755]

diff --git a/Demo/sgi/video/imgconv.py b/Demo/sgi/video/imgconv.py
new file mode 100755 (executable)
index 0000000..6e83806
--- /dev/null
@@ -0,0 +1,38 @@
+import imageop
+
+error = 'imgconv.error'
+
+LOSSY = 1
+NOT_LOSSY = 0
+
+def null(img, x, y):
+       return img
+       
+def mono2grey(img, x, y):
+       imageop.mono2grey(img, x, y, 0, 255)
+
+converters = [ \
+         ('grey',  'grey4', imageop.grey2grey4,   LOSSY), \
+         ('grey',  'grey2', imageop.dither2grey2, LOSSY), \
+         ('grey',  'mono',  imageop.dither2mono,  LOSSY), \
+         ('mono',  'grey',  mono2grey,            NOT_LOSSY), \
+         ('grey2', 'grey',  imageop.grey22grey,   NOT_LOSSY), \
+         ('grey4', 'grey',  imageop.grey42grey,   NOT_LOSSY), \
+]
+
+def addconverter(fcs, tcs, lossy, func):
+       for i in range(len(converters)):
+               ifcs, itcs, irtn, ilossy = converters[i]
+               if (fcs, tcs) == (ifcs, itcs):
+                       converters[i] = (fcs, tcs, func, lossy)
+                       return
+       converters.append((fcs,tcs,lossy,func))
+
+def getconverter(fcs, tcs):
+       if fcs == tcs: return null
+       
+       for ifcs, itcs, irtn, ilossy in converters:
+               if (fcs, tcs) == (ifcs, itcs):
+                       return irtn
+       raise error, 'Sorry, that conversion is not implemented'
+