1 | <?php header("Content-Type: text/html; charset=utf-8"); ?> |
---|
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
---|
3 | "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd"> |
---|
4 | |
---|
5 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
---|
6 | |
---|
7 | <head> |
---|
8 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
---|
9 | <meta name="GENERATOR" content="vim" /> |
---|
10 | <meta name="Author" content="sam@zoy.org (Sam Hocevar)" /> |
---|
11 | <meta name="Description" content="Caca Labs - img2oric" /> |
---|
12 | <meta name="Keywords" content="libcaca, ASCII, ASCII ART, colour quantisation, dithering, oric" /> |
---|
13 | <title>Caca Labs - img2oric</title> |
---|
14 | <link rel="icon" type="image/x-icon" href="/favicon.ico" /> |
---|
15 | <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" /> |
---|
16 | <link rel="stylesheet" type="text/css" href="/main.css" /> |
---|
17 | </head> |
---|
18 | |
---|
19 | <body> |
---|
20 | |
---|
21 | <?php include($_SERVER["DOCUMENT_ROOT"]."/header.inc"); ?> |
---|
22 | |
---|
23 | <img src="oric.png" width="200" height="130" |
---|
24 | alt="Oric computer" style="float: left; border: 0px;" /> |
---|
25 | |
---|
26 | <p> <tt>img2oric</tt> converts images to the Oric screen format. The <a |
---|
27 | href="http://www.defence-force.org/computing/oric/gallery/index.htm">Oric |
---|
28 | screen format</a> is one of the most twisted standards and very little artwork |
---|
29 | exists for this vintage computer. It was therefore the perfect challenge for |
---|
30 | the Caca Labs image processing team. </p> |
---|
31 | |
---|
32 | <p> The graphical part of the Oric screen has 240×200 pixels and can only |
---|
33 | display 8 different colours (black, blue, red, green, cyan, magenta, yellow |
---|
34 | and white). Each horizontal group of 6 pixels can only use two different |
---|
35 | colours: the foreground and the background colours. The background <i>or</i> |
---|
36 | the foreground colour may also be changed (one at a time), but while doing |
---|
37 | so the next 6 pixels cannot be chosen: they will use the background colour |
---|
38 | instead. Finally, a special bit may be activated to display the current group |
---|
39 | of pixels in reverse video. </p> |
---|
40 | |
---|
41 | <h2 style="clear: both;"> Downloads </h2> |
---|
42 | |
---|
43 | <p> No downloads are available yet. However, the file <tt><a |
---|
44 | href="img2oric.c">img2oric.c</a></tt> may be compiled on Linux to obtain an |
---|
45 | almost functional, yet extremely slow (around 2 minutes to process an image on |
---|
46 | a modern computer) program. </p> |
---|
47 | |
---|
48 | <h2> Screenshots </h2> |
---|
49 | |
---|
50 | <p> These images show how <tt>img2oric</tt> performs. The results may not seem |
---|
51 | terribly clean, but they are probably better than anything that has been seen |
---|
52 | so far on an Oric computer. </p> |
---|
53 | |
---|
54 | <p> These first 4 images show the results on the same images than the ones |
---|
55 | on Dbug’s <a href="http://www.defence-force.org/computing/oric/coding/annexe_3/pictconv/">PictConv</a> website, to illustrate the improvements over the |
---|
56 | traditional RGB separation technique. </p> |
---|
57 | |
---|
58 | <p style="text-align: center;"> |
---|
59 | <img src="buffy.png" width="240" height="200" class="inline" alt="" /> |
---|
60 | <img src="output-buffy.png" width="240" height="200" class="inline" alt="" /> |
---|
61 | </p> |
---|
62 | |
---|
63 | <p style="text-align: center;"> |
---|
64 | <img src="mire.png" width="240" height="200" class="inline" alt="" /> |
---|
65 | <img src="output-mire.png" width="240" height="200" class="inline" alt="" /> |
---|
66 | </p> |
---|
67 | |
---|
68 | <p style="text-align: center;"> |
---|
69 | <img src="dog.png" width="240" height="200" class="inline" alt="" /> |
---|
70 | <img src="output-dog.png" width="240" height="200" class="inline" alt="" /> |
---|
71 | </p> |
---|
72 | |
---|
73 | <p style="text-align: center;"> |
---|
74 | <img src="lena.png" width="240" height="200" class="inline" alt="" /> |
---|
75 | <img src="output-lena.png" width="240" height="200" class="inline" alt="" /> |
---|
76 | </p> |
---|
77 | |
---|
78 | <p> The following images show <tt>img2oric</tt>’s results with grayscale |
---|
79 | images and cartoon images. </p> |
---|
80 | |
---|
81 | <p style="text-align: center;"> |
---|
82 | <img src="bufbw.png" width="240" height="200" class="inline" alt="" /> |
---|
83 | <img src="output-bufbw.png" width="240" height="200" class="inline" alt="" /> |
---|
84 | </p> |
---|
85 | |
---|
86 | <p style="text-align: center;"> |
---|
87 | <img src="homer.png" width="240" height="200" class="inline" alt="" /> |
---|
88 | <img src="output-homer.png" width="240" height="200" class="inline" alt="" /> |
---|
89 | </p> |
---|
90 | |
---|
91 | <p> The following images use real Oric artwork, taken from the Buggy Boy |
---|
92 | and the VIP 4 demos: they are almost pixel-perfect. </p> |
---|
93 | |
---|
94 | <p style="text-align: center;"> |
---|
95 | <img src="bb.png" width="240" height="200" class="inline" alt="" /> |
---|
96 | <img src="output-bb.png" width="240" height="200" class="inline" alt="" /> |
---|
97 | </p> |
---|
98 | |
---|
99 | <p style="text-align: center;"> |
---|
100 | <img src="eatme.png" width="240" height="200" class="inline" alt="" /> |
---|
101 | <img src="output-eatme.png" width="240" height="200" class="inline" alt="" /> |
---|
102 | </p> |
---|
103 | |
---|
104 | <p> And finally, this is an animation whose frames were converted to Oric |
---|
105 | colours using <tt>img2oric</tt>: </p> |
---|
106 | |
---|
107 | <p style="text-align: center;"> |
---|
108 | <img src="bear.gif" width="240" height="200" class="inline" alt="" /> |
---|
109 | <img src="output-bear.gif" width="240" height="200" class="inline" alt="" /> |
---|
110 | </p> |
---|
111 | |
---|
112 | <h2> Credits </h2> |
---|
113 | |
---|
114 | <p> <tt>img2oric</tt> was written by Sam Hocevar. Thanks to Jean-Yves |
---|
115 | Lamoureux, Mickaël Pointier, Robert Chéramy and Fabrice Frances for their |
---|
116 | help, their work and the information they provided. </p> |
---|
117 | |
---|
118 | <?php $rev = '$Id$'; |
---|
119 | include($_SERVER['DOCUMENT_ROOT'].'/footer.inc'); ?> |
---|
120 | |
---|
121 | </body> |
---|
122 | </html> |
---|