<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JavaScript: работа с рисунками в формате XPM]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=3837&amp;type=atom" />
	<updated>2009-11-02T13:27:52Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=3837</id>
		<entry>
			<title type="html"><![CDATA[JavaScript: работа с рисунками в формате XPM]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=30028#p30028" />
			<content type="html"><![CDATA[<p>Пример HTML-страницы с рисунком, который хранится в виде текста:<br /></p><div class="codebox"><pre><code>&lt;html&gt;
&lt;body&gt;
    &lt;!--Координаты левого верхнего угла изображения задаются тут--&gt;
    &lt;div id=&quot;Picture&quot; style=&quot;position:absolute; left:50px; top:50px;&quot;&gt;&lt;/div&gt;
&lt;/body&gt;

&lt;script type=&quot;text/javascript&quot;&gt;
// Рисунок в формате XPM 
var Colors={
&quot;.&quot; : &quot;#CE9A31&quot;,
&quot;+&quot; : &quot;#FFFFFF&quot;,
&quot;@&quot; : &quot;#FFEFC6&quot;,
&quot;#&quot; : &quot;#AD7531&quot;,
&quot;$&quot; : &quot;#FFEFAD&quot;,
&quot;%&quot; : &quot;#FFE394&quot;,
&quot;&amp;&quot; : &quot;#F7D773&quot;,
&quot;*&quot; : &quot;#FFF7C6&quot;,
&quot;=&quot; : &quot;#EFC34A&quot;,
&quot;-&quot; : &quot;#E74131&quot;,
&quot;;&quot; : &quot;#EF3839&quot;,
&quot;&gt;&quot; : &quot;#E76D29&quot;,
&quot;,&quot; : &quot;#C66129&quot;,
&quot;&#039;&quot; : &quot;#DE2021&quot;,
&quot;)&quot; : &quot;#DE3039&quot;,
&quot;!&quot; : &quot;#BD8631&quot;,
&quot;~&quot; : &quot;#EFAE21&quot;,
&quot;{&quot; : &quot;#FF867B&quot;,
&quot;]&quot; : &quot;#FF8E84&quot;,
&quot;^&quot; : &quot;#F7615A&quot;,
&quot;/&quot; : &quot;#DE5121&quot;,
&quot;(&quot; : &quot;#DE5929&quot;,
&quot;_&quot; : &quot;#EF4942&quot;,
&quot;:&quot; : &quot;#EF4939&quot;,
&quot;&lt;&quot; : &quot;#EF3431&quot;,
&quot;[&quot; : &quot;#D63439&quot;,
&quot;}&quot; : &quot;#F7D373&quot;,
&quot;|&quot; : &quot;#E74142&quot;,
&quot;1&quot; : &quot;#FF9284&quot;,
&quot;2&quot; : &quot;#FFA69C&quot;,
&quot;3&quot; : &quot;#FF968C&quot;,
&quot;4&quot; : &quot;#F76963&quot;,
&quot;5&quot; : &quot;#F75952&quot;,
&quot;6&quot; : &quot;#EF514A&quot;,
&quot;7&quot; : &quot;#EF4539&quot;,
&quot;8&quot; : &quot;#EF4131&quot;,
&quot;9&quot; : &quot;#CE1010&quot;,
&quot;0&quot; : &quot;#E74542&quot;,
&quot;a&quot; : &quot;#FF8A84&quot;,
&quot;b&quot; : &quot;#FF9A94&quot;,
&quot;c&quot; : &quot;#EF5952&quot;,
&quot;d&quot; : &quot;#EF3C31&quot;,
&quot;e&quot; : &quot;#EFB229&quot;,
&quot;f&quot; : &quot;#DE3829&quot;,
&quot;g&quot; : &quot;#F7756B&quot;,
&quot;h&quot; : &quot;#F76D6B&quot;,
&quot;i&quot; : &quot;#F75D5A&quot;,
&quot;j&quot; : &quot;#EF554A&quot;,
&quot;k&quot; : &quot;#EF4D42&quot;,
&quot;l&quot; : &quot;#EF3831&quot;,
&quot;m&quot; : &quot;#CE2029&quot;,
&quot;n&quot; : &quot;#DE6118&quot;,
&quot;o&quot; : &quot;#F75D52&quot;,
&quot;p&quot; : &quot;#E72429&quot;,
&quot;q&quot; : &quot;#DE8A8C&quot;,
&quot;r&quot; : &quot;#9C6531&quot;,
&quot;s&quot; : &quot;#BD3408&quot;,
&quot;t&quot; : &quot;#DE2029&quot;,
&quot;u&quot; : &quot;#D6696B&quot;,
&quot;v&quot; : &quot;#E7717B&quot;,
&quot;w&quot; : &quot;#EF4542&quot;,
&quot;x&quot; : &quot;#EF4139&quot;,
&quot;y&quot; : &quot;#D6616B&quot;,
&quot;z&quot; : &quot;#DE616B&quot;,
&quot;A&quot; : &quot;#E72C31&quot;,
&quot;B&quot; : &quot;#CE555A&quot;,
&quot;C&quot; : &quot;#DE5552&quot;,
&quot;D&quot; : &quot;#CE494A&quot;
}

var Bitmap = [
&quot;  ....          &quot;,
&quot; .++++.         &quot;,
&quot;.@@@@@@.....#   &quot;,
&quot;.$$$$$$$$$$$#   &quot;,
&quot;.%%.............&quot;,
&quot;.&amp;&amp;.***********.&quot;,
&quot;.=.$$$$-;&gt;$$,&#039;)!&quot;,
&quot;.~.%%%-{]^/(_:&lt;[&quot;,
&quot;..&amp;&amp;&amp;}|123456789&quot;,
&quot;..====0ab]4c67d9&quot;,
&quot;..~~eefgghijk7lm&quot;,
&quot; .~~~~n6^oj6_dpq&quot;,
&quot;  rrrrrs_j6_7tu &quot;,
&quot;        vw:xpy  &quot;,
&quot;         zxAB   &quot;,
&quot;          CD    &quot;
]

// Рисование одной точки (фактически - добавление одного раскрашенного div)
function MakePoint(x, y, color) {
    var point = document.createElement(&#039;div&#039;);
    point.innerHTML = &#039;&lt;div style=&quot;position:absolute;&#039; +
        &#039;width:0px; height:1px; clip:rect(0,1px,1px,0);&#039;+
        &#039;border-left:1px solid &#039; + color + &#039;;&#039;+
        &#039;background-color:&#039; + color + &#039;;&#039;+
        &#039;left:&#039; + x + &#039;px;&#039;+
        &#039;top:&#039; + y + &#039;px;&#039;+
        &#039;&quot;&gt;&lt;\/div&gt;&#039;;
    document.getElementById(&quot;Picture&quot;).appendChild(point);
}

// Перебираем Bitmap и рисуем точки
for (var y=0; y&lt;Bitmap.length; y++) {
    var line = Bitmap[y];
    for (var x=0; x&lt;line.length; x++) {
        var color = Colors[line.charAt(x)]
        if (color) {
            MakePoint(x, y, color);
        }
    }
}

&lt;/script&gt;
&lt;/html&gt;</code></pre></div><p>Автор решения — <strong>mozers</strong>.<br /><a href="http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm">Мощный JS скрипт</a>, работающий по этому же принципу, но с множеством дополнительных возможностей.<br />Преобразовать различные картинки в формат XPM можно с помощью популярного графического редактора GIMP.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2009-11-02T13:27:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=30028#p30028</id>
		</entry>
</feed>
