<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; API для доступа к средствам обработки изображений]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5693</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5693&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «API для доступа к средствам обработки изображений».]]></description>
		<lastBuildDate>Wed, 06 Apr 2011 17:44:00 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47419#p47419</link>
			<description><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?id=4327">Еще пример использования WIA.</a></p>]]></description>
			<author><![CDATA[null@example.com (JSmаn)]]></author>
			<pubDate>Wed, 06 Apr 2011 17:44:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47419#p47419</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47384#p47384</link>
			<description><![CDATA[<p><strong>!k</strong>. Спасибо. Это хороший пример при наличии IrfanView. Предполагаю, что ACDSee тоже имеет командную строку. Но я не пользуюсь этими программами. Предполагал, что есть офисные COM-объекты для работы с изображениями. Лучшим вариантом было бы использовать - при их наличии - только встроенные в систему средства. Найденное решение&nbsp; - использовать WIA - на мой взгляд лучше.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Apr 2011 17:51:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47384#p47384</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47382#p47382</link>
			<description><![CDATA[<p>IrfanView имеет командную строку<br /><a href="http://forum.wincmd.ru/viewtopic.php?p=47100#47100">как сделать чтобы ирфан все выделенные файлы ресайзил по заданным параметрам</a></p>]]></description>
			<author><![CDATA[null@example.com (!k)]]></author>
			<pubDate>Mon, 04 Apr 2011 16:23:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47382#p47382</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47361#p47361</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Apr 2011 05:18:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47361#p47361</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47360#p47360</link>
			<description><![CDATA[<p>WIA. Это очень близко к тому, что надо. Спасибо. Я сейчас смотрю его.</p>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Apr 2011 04:21:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47360#p47360</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47359#p47359</link>
			<description><![CDATA[<p>WIA идёт в комплекте (ничего другого «комплектного», кроме WinAPI/GDI+ нет) — что не так?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 04 Apr 2011 03:56:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47359#p47359</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47358#p47358</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Apr 2011 03:37:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47358#p47358</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47357#p47357</link>
			<description><![CDATA[<p>Посмотрите здесь: <a href="http://forum.script-coding.com/viewtopic.php?id=2846">VBScript: работа с графическими файлами</a>.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 04 Apr 2011 03:31:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47357#p47357</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47356#p47356</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Apr 2011 03:07:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47356#p47356</guid>
		</item>
		<item>
			<title><![CDATA[Re: API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47354#p47354</link>
			<description><![CDATA[<p>Не очень понятен вопрос. Просто обрабатывать растровые изображения можно с помощью WIA или GFLAx.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 04 Apr 2011 02:10:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47354#p47354</guid>
		</item>
		<item>
			<title><![CDATA[API для доступа к средствам обработки изображений]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=47353#p47353</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Mon, 04 Apr 2011 01:52:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=47353#p47353</guid>
		</item>
	</channel>
</rss>
