<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; API для доступа к средствам обработки изображений]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5693&amp;type=atom" />
	<updated>2011-04-06T17:44:00Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5693</id>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47419#p47419" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=4327">Еще пример использования WIA.</a></p>]]></content>
			<author>
				<name><![CDATA[JSmаn]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24434</uri>
			</author>
			<updated>2011-04-06T17:44:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47419#p47419</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47384#p47384" />
			<content type="html"><![CDATA[<p><strong>!k</strong>. Спасибо. Это хороший пример при наличии IrfanView. Предполагаю, что ACDSee тоже имеет командную строку. Но я не пользуюсь этими программами. Предполагал, что есть офисные COM-объекты для работы с изображениями. Лучшим вариантом было бы использовать - при их наличии - только встроенные в систему средства. Найденное решение&nbsp; - использовать WIA - на мой взгляд лучше.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-04-04T17:51:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47384#p47384</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47382#p47382" />
			<content type="html"><![CDATA[<p>IrfanView имеет командную строку<br /><a href="http://forum.wincmd.ru/viewtopic.php?p=47100#47100">как сделать чтобы ирфан все выделенные файлы ресайзил по заданным параметрам</a></p>]]></content>
			<author>
				<name><![CDATA[!k]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26608</uri>
			</author>
			<updated>2011-04-04T16:23:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47382#p47382</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47361#p47361" />
			<content type="html"><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/ms630827(VS.85).aspx">Windows Image Acquisition Automation Layer (WIA)</a> - неплохой инструмент. Вернее, его можно рассматривать как программный драйвер для обработки изображений и взаимодействия с мультимедийными устройствами - цифровыми камерами, сканерами, веб-камерами. Меня интересует (пока) только обработка существующих изображений. Для этого используются следующие фильтры <br />- обрезка, <br />- масштабирование, <br />- вращение, <br />- редактирование метаданных (EXIF), <br />- рамки (виньетки?), <br />- манипуляция с цветом, <br />- перевод из одного графического формата в другой. </p><p>Список поддерживаемых фильтров и их описание можно узнать выполнив следующий код:<br /></p><div class="codebox"><pre><code>
var imgproc = new ActiveXObject(&#039;WIA.ImageProcess&#039;);

var s = [];
for (var e = new Enumerator(imgproc.FilterInfos); ! e.atEnd(); e.moveNext()) {
	var p = e.item();
	s.push(&#039;==========&#039;);
	s.push(p.Name);
	s.push(p.Description);
}

WScript.Echo(s.join(&#039;\n&#039;));</code></pre></div><p>Из этого списка я узнал имя фильтра <strong>Scale</strong> и требуемые его свойства для заполнения. Пусть имеется некий файл, для которого необходимо создать уменьшенную копию размером не более 150x150:<br /></p><div class="codebox"><pre><code>
// исходное и результирующее изображения
var i = &#039;image.jpg&#039;;
var o = &#039;image2.jpg&#039;;

// размеры будущего изображения
var w = 150;
var h = 150;

// создать объект-обработчик ...
var imgproc = new ActiveXObject(&#039;WIA.ImageProcess&#039;);
// ... добавить требуемый фильтр ...
imgproc.Filters.Add(imgproc.FilterInfos(&#039;Scale&#039;).FilterID);
// ... и заполнить свойства фильтра
imgproc.Filters(1).Properties(&#039;MaximumWidth&#039;) = w;
imgproc.Filters(1).Properties(&#039;MaximumHeight&#039;) = h;

// создать объект-изображение, загрузить графический файл ...
var imgfile = new ActiveXObject(&#039;WIA.ImageFile&#039;);
imgfile.LoadFile(i);
// ... применить к нему фильтр ...
imgfile = imgproc.Apply(imgfile);
// ... и сохранить полученное изображение под другим именем
imgfile.SaveFile(o);</code></pre></div><p>WIA компонент поддерживается начиная с Windows XP SP1+. Требуется регистрация в системе библиотеки WIAAut.dll, <em>которую необходимо предварительно скачать</em>. </p><p>Мое мнение - все бы ничего, но это ложка дегтя.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-04-04T05:18:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47361#p47361</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47360#p47360" />
			<content type="html"><![CDATA[<p>WIA. Это очень близко к тому, что надо. Спасибо. Я сейчас смотрю его.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-04-04T04:21:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47360#p47360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47359#p47359" />
			<content type="html"><![CDATA[<p>WIA идёт в комплекте (ничего другого «комплектного», кроме WinAPI/GDI+ нет) — что не так?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-04-04T03:56:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47359#p47359</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47358#p47358" />
			<content type="html"><![CDATA[<p>Это легко реализуется с помощью PHP+GD и 1-2 библиотек. Но хотелось бы от внешних программ (исполнимый файл, библиотеки, громоздкие платформы вроде .Net) перейти к нативным средствам системы, реализующим минимальную обработку изображения. Например, имея некоторую библиотеку создания thumbnails, следующий скрипт реализует желаемое. <br /></p><div class="codebox"><pre><code>
include_once(&#039;includes/Thumbnail.php&#039;);

$i = &#039;image.jpg&#039;;
$o = &#039;image2.jpg&#039;;

$options = array(
    &#039;width&#039;  =&gt; 160,
    &#039;height&#039; =&gt; 160,
    &#039;type&#039;   =&gt; IMAGETYPE_JPEG,
);

Thumbnail::output($i, $o, $options);</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-04-04T03:37:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47358#p47358</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47357#p47357" />
			<content type="html"><![CDATA[<p>Посмотрите здесь: <a href="http://forum.script-coding.com/viewtopic.php?id=2846">VBScript: работа с графическими файлами</a>.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-04-04T03:31:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47357#p47357</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47356#p47356" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>... растровые изображения ... WIA или GFLAx.</p></blockquote></div><p>Мне это тоже не понятно. Мне хотелось бы иметь нечто подобное этому:<br /></p><div class="codebox"><pre><code>var img = new ActiveXObject(&#039;SomethingImageManager.Application&#039;);
img.Open(&#039;image1.jpg&#039;);
img.SetSizeInPixels(100, 100);
img.SaveAs(&#039;image2.jpg&#039;);
img.Quit();</code></pre></div><p>По аналогии, как это делается, например, с WinWord, через Automation.</p>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-04-04T03:07:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47356#p47356</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47354#p47354" />
			<content type="html"><![CDATA[<p>Не очень понятен вопрос. Просто обрабатывать растровые изображения можно с помощью WIA или GFLAx.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2011-04-04T02:10:08Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47354#p47354</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[API для доступа к средствам обработки изображений]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=47353#p47353" />
			<content type="html"><![CDATA[<p>Намеренно не указал язык программирования, так как интересуют любые, хотя предпочтительные - JScript, VBScript. </p><p>Существует API для доступа из скрипта к средствам обработки изображений, например, MS Office Picture Manager, аналогичный WinWord? <br /></p><div class="codebox"><pre><code>var word = new ActiveXObject(&#039;Word.Application&#039;);
...</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rumata]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24846</uri>
			</author>
			<updated>2011-04-04T01:52:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=47353#p47353</id>
		</entry>
</feed>
