<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA: графические фильтры DXImageTransform]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=2676</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2676&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA: графические фильтры DXImageTransform».]]></description>
		<lastBuildDate>Sat, 24 Jan 2009 08:59:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: HTA: графические фильтры DXImageTransform]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=18583#p18583</link>
			<description><![CDATA[<p>Дальнейшее развитие предыдущего примера. Появилась возможность сохранять область фильтрованного изображения в графический файл BMP формата, а также изменять размер изображения.<br /></p><div class="quotebox"><blockquote><p>----------------------------------------------------------------------<br />Пример работы графических фильтров DXImageTransform для изменения изображения в HTA,HTML документе. <br />----------------------------------------------------------------------<br />Запустите <strong>effects.hta</strong>. Нажмите кнопку &quot;Открыть&quot; и выберите произвольное изображение [bmp,jpg,gif]. Выберите комбинацию эффектов путем простановки флажков в левой части документа. Примените эффекты нажав кнопку &quot;Применить&quot;. Чтобы вернуться к исходному изображению снимите все флажки и вновь нажмите &quot;Применить&quot;. Для изменения масштаба изображения нажимайте кнопки &quot;M +&quot; или &quot;M -&quot;. Для восстановления исходного размера изображения, щелкните по рисунку левой кнопкой мыши. Для сохранения области фильтрованного изображения в BMP формат, нажмите кнопку &quot;Сохранить&quot;.<br />----------------------------------------------------------------------<br />Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше</p><p>Потребуется установленный 	<a href="http://www.script-coding.com/LangMF.html">LangMF 7.7.0.0</a> и выше</p><p>OC Win98/Me/XP<br />----------------------------------------------------------------------</p></blockquote></div><p>Содержимое <strong>effects.hta</strong>:<br /></p><div class="codebox"><pre><code>&lt;META HTTP-EQUIV=Content-Type content=&#039;text/html;charset=windows-1251&#039;&gt;
&lt;HTML&gt;
&lt;!--
---------------------------------------------------------------------------------
Пример работы графических фильтров DXImageTransform для изменения изображения в HTA,HTML документе. 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Нажмите кнопку &quot;Открыть&quot; и выберите произвольное изображение [bmp,jpg,gif]. 
 Выберите комбинацию эффектов путем простановки флажков в левой части документа.
 Примените эффекты нажав кнопку &quot;Применить&quot;. 
 Чтобы вернуться к исходному изображению снимите все флажки и вновь нажмите &quot;Применить&quot;. 
 Для изменения размера изображения нажимайте кнопки &quot;M +&quot; или &quot;M -&quot;. 
 Для восстановления исходного размера изображения, щелкните по рисунку левой кнопкой мыши.

 Для сохранения области фильтрованного изображения в BMP формат, нажмите кнопку &quot;Сохранить&quot;.
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
Потребуется установленный LangMF 7.7.0.0 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------
--&gt;
&lt;TITLE&gt;DXImageTransform_Viewer&lt;/TITLE&gt;
&lt;HTA:APPLICATION
    ID        =&#039;DXImageTransform_Viewer&#039;
    APPLICATIONNAME    =&#039;DXImageTransform_Viewer&#039;
    windowState    =&#039;maximize&#039;/&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;STYLE type=text/css&gt;
BODY    {    background-color: white; border: 5px; border-style: outset; margin: 0;}

TD    {    height: 20; 
        font-family: Lucida Console; 
        font-size: 14px;
        background-color: #dfe754; 
        border-style: solid; 
        border-width: 2px; 
        border-color: black;
        padding: 8px; 
        align: left;}

INPUT    {    border: 1px solid yellow; 
        height: 30;
        font-family: Lucida Console; 
        font-size: 14px; }    
    
&lt;/STYLE&gt;

&lt;BODY&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;IMG ID=&#039;img1&#039; style=&#039;position: absolute; top: 10; left: 200&#039; onclick=&#039;img1.style.width=&quot;auto&quot;;&#039;&gt; 
&lt;!-----------------------------------------------------------------------------------------------------------&gt;

&lt;DIV ID=&#039;batonsSet&#039; style=&#039;position: absolute; top: 10; left: 5; width: 140;&#039;&gt;
&lt;TABLE&gt;
    &lt;TR&gt;&lt;TD colspan=2&gt;&lt;INPUT style=&#039;width: 70;&#039; TYPE=FILE ID=&#039;ImgInp&#039; size=5 onchange=&#039;DisplayImage();&#039;&gt;&lt;/TD&gt;&lt;/TR&gt;

    &lt;FORM NAME=&#039;frm1&#039;&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c1&#039;&gt;&lt;/TD&gt;&lt;TD&gt;MotionBlur&lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c2&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Wave    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c3&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Emboss    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c4&#039;&gt;&lt;/TD&gt;&lt;TD&gt;XRay    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c5&#039;&gt;&lt;/TD&gt;&lt;TD&gt;GrayScale    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c6&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Glow    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c7&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Shadow    &lt;/TD&gt;&lt;/TR&gt;
    &lt;/FORM&gt;

    &lt;TR&gt;&lt;TD colspan=2&gt;&lt;INPUT style=&#039;width: 120;&#039; TYPE=BUTTON VALUE=&#039;Применить&#039; onclick=&#039;Set_Effect();&#039;&gt;&lt;/TD&gt;&lt;/TR&gt;
    &lt;TR&gt;&lt;TD colspan=2&gt;&lt;INPUT style=&#039;width: 120;&#039; TYPE=BUTTON VALUE=&#039;Сохранить&#039; onclick=&#039;SaveForFile();&#039;&gt;&lt;/TD&gt;&lt;/TR&gt;
    &lt;TR&gt;
    &lt;TD colspan=2&gt;
        &lt;INPUT style=&#039;width: 55;&#039; TYPE=BUTTON VALUE=&#039;M +&#039; onclick=&#039;SetScale(1);&#039;&gt;
        &lt;INPUT style=&#039;width: 55;&#039; TYPE=BUTTON VALUE=&#039;М -&#039; onclick=&#039;SetScale(-1);&#039;&gt;
    &lt;/TD&gt;
    &lt;/TR&gt;
    &lt;TR&gt;&lt;TD colspan=2&gt;&lt;INPUT style=&#039;width: 120;&#039; TYPE=BUTTON VALUE=&#039;Закрыть&#039;   onclick=&#039;window.close();&#039;&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;PRE ID=&#039;LMFCode&#039; style=&#039;visibility: hidden;&#039;&gt;
&lt;#Module=LANG_MF_WINDOW_SPY&gt;

    &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Sub Load(cmdstr)
    
    End Sub

    &#039;[Сохранение скриншота окна содержащего фильтрованное изображение]
    &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Function SaveWindowScreenShot(FileName)

        &#039;[Сохранение в формат BMP]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        DefFileName=Sys.File.GetFSideN(FileName)

        If CLng(Mid(lmf_Version,1,1) &amp; Mid(lmf_Version,3,1))&gt;=78 Then
            SaveFileDlg    =Sys.CDlg.ShowSave( _
                                &quot;BMP files (*.bmp)|*.bmp&quot;, _
                                &quot;Файл для сохранения:&quot;, _
                                &quot;&quot;, _
                                &quot;.bmp&quot;, _
                                hWnd, _
                                2, _
                                1, _
                                DefFileName)
        Else        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            SaveFileDlg    =Sys.CDlg.ShowSave( _
                                &quot;Файл для сохранения:&quot;, _
                                &quot;BMP files (*.bmp)|*.bmp&quot;, _
                                &quot;&quot;, _
                                &quot;.bmp&quot;, _
                                hWnd, _
                                2, _
                                1, _
                                DefFileName)
        End If
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        If SaveFileDlg=&quot;&quot; Then Exit Function
        Sys.cSleep(300)


        Const SW_MAXIMIZE    =3
        Const CF_BITMAP        =2

        &#039;[Изменение параметров отображения страницы]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Set el1=WND.document.getElementbyId(&quot;batonsSet&quot;)
        el1.style.visibility=&quot;hidden&quot;
        DoEvents
        
        Set el2=WND.document.getElementbyId(&quot;img1&quot;)
        el2.style.left=10
        DoEvents
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            WND.scrollTo 0,0
            DoEvents
            WND.moveTo 0,0
            DoEvents
            Sys.cSleep(300)


        &#039;[Определение дескриптора окна фильтрованного изображения]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hWnd1    =Sys.DynApi.CallFunction(    &quot;USER32.DLL&quot;, _
                            &quot;GetForegroundWindow&quot;)
    
        &#039;[Максимизация окна]
        hwnd    =Sys.DynApi.CallFunction(    &quot;USER32.DLL&quot;, _
                            &quot;ShowWindow&quot;, _
                            hWnd1,SW_MAXIMIZE)            
                            DoEvents

        &#039;[Определение дескриптора окна Internet_Explorer Server]
        hwnd    =Sys.DynApi.CallFunction(    &quot;USER32.DLL&quot;, _
                            &quot;GetTopWindow&quot;, _
                            hWnd1)        
                            DoEvents

        Sys.cSleep(100)

        &#039;[Определение размеров области отображения]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Set body=WND.document.getElementsByTagName(&quot;body&quot;)(0)
            DoEvents
        cWidth    =body.clientWidth
        cHeight    =body.clientHeight
            DoEvents

        Sys.cSleep(100)

        &#039;[Получение действительного контекста окна]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hDCIe    =Sys.DynApi.CallFunction(    &quot;USER32.DLL&quot;, _
                            &quot;GetWindowDC&quot;, _
                            hWnd)    
        
        &#039;[Создание связанного контекста]        
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hCompDCIe=Sys.DynApi.CallFunction(    &quot;GDI32.DLL&quot;, _
                            &quot;CreateCompatibleDC&quot;, _
                            hWndIe)    
        
        &#039;[Создание связанного BITMAP]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hBM    =Sys.DynApi.CallFunction(    &quot;GDI32.DLL&quot;, _
                            &quot;CreateCompatibleBitmap&quot;, _
                            hDCIe,cWidth,cHeight)            


        &#039;[Выбор связанного Bitmap в связанный контекст]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hBMComp    =Sys.DynApi.CallFunction(    &quot;GDI32.DLL&quot;, _
                            &quot;SelectObject&quot;, _
                            hCompDCIe,hBM)


        &#039;[Копирование действительного контекста на связанный контекст]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hRes    =Sys.DynApi.CallFunction(    &quot;GDI32.DLL&quot;, _
                            &quot;BitBlt&quot;, _
                            hCompDCIe, _
                            0, _
                            0, _
                            cWidth, _
                            cHeight, _
                            hDCIe, _
                            0, _
                            0, _
                            vbSrcCopy)
        

        &#039;[Возврат совместимого Bitmap из связанного контекста]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hBM    =Sys.DynApi.CallFunction(    &quot;GDI32.DLL&quot;, _
                            &quot;SelectObject&quot;, _
                            hCompDCIe,hBMComp)

        Sys.cSleep(100)
        
        &#039;[Помещение данных в буфер обмена]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        hClip=    Sys.DynApi.CallFunction(&quot;USER32.DLL&quot;,&quot;OpenClipboard&quot;,0)
            Sys.DynApi.CallFunction &quot;USER32.DLL&quot;,&quot;EmptyClipboard&quot;
        hRes=    Sys.DynApi.CallFunction(&quot;USER32.DLL&quot;,&quot;SetClipboardData&quot;,CF_BITMAP,hBM)
            Sys.DynApi.CallFunction &quot;USER32.DLL&quot;,&quot;CloseClipboard&quot;
        
        Sys.cSleep(100)

        &#039;[Извлечение данных буфера обмена и запись в файл]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Set NewPic=Sys.CreateImage()
            NewPic.AutoSize=1
            NewPic.Picture=Sys.ClipBoard.GetData(CF_BITMAP)
            DoEvents
        Sys.Conv.Str2File Sys.Conv.Image2Str(NewPic),SaveFileDlg
            DoEvents
        Sys.ClipBoard.Clear()
            DoEvents
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        MsgBox &quot;Область изображения сохранена&quot;, _
            vbSystemModal+vbInformation, _
            &quot;Сохранение фильтрованного изображения&quot;

        Sys.cSleep(100)

        &#039;[Восстановление параметров отображения страницы]
        &#039;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        el1.style.visibility=&quot;visible&quot;
            DoEvents
        el2.style.left=200
            DoEvents
        
    End Function
&lt;#Module&gt;
&lt;/PRE&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;SCRIPT Language=&#039;JavaScript&#039;&gt;
//----------------------------------------------------------------------
    try
    {
    var LMX    =new ActiveXObject(&#039;Atomix.LangMF&#039;)
    }
    catch(err)
    {alert(&#039;Установите LangMf 7.7 и выше.&#039;);window.close();}
//----------------------------------------------------------------------
    LMX.AddObject(window,&#039;WND&#039;)
//----------------------------------------------------------------------
    var frm=document.forms[0]
//----------------------------------------------------------------------
//Массив графических фильтров
var Filters=new Array(    
    &quot;progid:DXImageTransform.Microsoft.MotionBlur        (Direction=1,Strength=200)&quot;,
    &quot;progid:DXImageTransform.Microsoft.Wave            (phase=5,freq=6,strength=10,lightStrength=10)&quot;,    
    &quot;progid:DXImageTransform.Microsoft.Emboss        (enables=&#039;true&#039;)&quot;,    
    &quot;progid:DXImageTransform.Microsoft.BasicImage        (XRay=1);&quot;,
    &quot;progid:DXImageTransform.Microsoft.BasicImage        (GrayScale=10)&quot;,
    &quot;progid:DXImageTransform.Microsoft.Glow            (Color=&#039;purple&#039;,Streigth=100)&quot;,
    &quot;progid:DXImageTransform.Microsoft.Shadow        (Color=&#039;red&#039;,Direction=&#039;left&#039;,Streigth=100)&quot;)
//----------------------------------------------------------------------
//Загрузка изображения
    function DisplayImage()
    {
        //Сброс флажков
        for (i=0;i&lt;=frm.length-1;i++)
            {frm.elements[i].checked=false}

        with (img1)
        {
            //Установка пустого фильтра
            style.filter=&#039;&#039;

            //Установка изображения
            style.width=&#039;auto&#039;
            src=ImgInp.value
        }
    }
//----------------------------------------------------------------------
//Включение группы фильтров
    function Set_Effect()
    {
    if (!ImgInp.value){alert(&#039;Изображение отсутствует.&#039;);return;}    

    var filt=&#039;&#039;

    //Создание комбинации фильтров
    for (i=0;i&lt;=frm.length-1;i++)
        {
        if (frm.elements[i].checked){filt=filt+Filters[i]+&#039;\\\n&#039;}
        }

    //Установка комбинации фильтров
    img1.style.filter=filt
    }
//----------------------------------------------------------------------
    function SaveForFile()
    {
        if (!ImgInp.value){alert(&#039;Изображение отсутствует.&#039;);return;}    
        LMX.FuncRun(&#039;SaveWindowScreenShot&#039;,1,ImgInp.value)
    }
//----------------------------------------------------------------------
    function SetScale(param)
    {
    if (!ImgInp.value){alert(&#039;Изображение отсутствует.&#039;);return;}    
    img1.style.width=param*100+img1.width
    }
//----------------------------------------------------------------------
    function window.onload()
    {
        LMX.Command(LMFCode.innerText)    
    }
//----------------------------------------------------------------------
    function window.onclose()
    {LMX.Reset()}
//----------------------------------------------------------------------
//poltergeyst
&lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div><p>Применённым в этом примере методом можно сохранять в BMP файл скриншот любого окна.</p>]]></description>
			<author><![CDATA[null@example.com (Poltergeyst)]]></author>
			<pubDate>Sat, 24 Jan 2009 08:59:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=18583#p18583</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA: графические фильтры DXImageTransform]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=18316#p18316</link>
			<description><![CDATA[<p>Пример работы графических фильтров DXImageTransform для наложения эффектов на изображение в HTA,HTML документе. Нажмите кнопку &quot;Открыть&quot; и выберите произвольное изображение (bmp,jpg,gif). Выберите комбинацию эффектов путем простановки флажков в левой части документа и примените эффекты нажав кнопку &quot;Применить&quot;. Чтобы вернуться к исходному изображению снимите все флажки и нажмите &quot;Применить&quot;.<br />---------------------------------------------------------------------------------<br />Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше<br />OC Win98/Me/XP<br />---------------------------------------------------------------------------------</p><p>Файл <strong>filters.hta</strong><br /></p><div class="codebox"><pre><code>&lt;META HTTP-EQUIV=Content-Type content=&#039;text/html;charset=windows-1251&#039;&gt;
&lt;HTML&gt;
&lt;!--
---------------------------------------------------------------------------------
Пример работы графических фильтров DXImageTransform для для наложения эффектов на 
изображение HTA,HTML документе. Нажмите кнопку &quot;Открыть&quot; и выберите произвольное 
изображение (bmp,jpg,gif). Выберите комбинацию эффектов путем простановки флажков 
в левой части документа и примените эффекты нажав кнопку &quot;Применить&quot;. Чтобы 
вернуться к исходному изображению снимите все флажки и нажмите &quot;Применить&quot;.
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------
--&gt;
&lt;TITLE&gt;DXImageTransform&lt;/TITLE&gt;
&lt;HTA:APPLICATION/&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;STYLE type=text/css&gt;
BODY    {    background-color: #2dd2ce; border: 5px; border-style: outset; margin: 0;}

TD    {    height: 20; 
        font-family: Lucida Console; 
        font-size: 14px;
        background-color: white; 
        border-style: solid; 
        border-width: 1px; 
        border-color: black;
        padding-left: 5px; 
        align: left;}

INPUT.bat{    border: 1px solid yellow; 
        width: 140;
        font-family: Lucida Console; 
        font-size: 14px; }    
    
INPUT.in{    border: 1px solid yellow; 
        width: 80;
        font-family: Lucida Console; 
        font-size: 14px; }        
&lt;/STYLE&gt;

&lt;BODY&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;IMG ID=&#039;img1&#039; style=&#039;position: absolute; top: 10; left: 200&#039;&gt; 
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;TABLE     style=&#039;position: absolute; top: 10; left: 5; width: 140;&#039;&gt;
    &lt;TR&gt;&lt;TD colspan=2&gt;&lt;INPUT class=&#039;in&#039; TYPE=FILE ID=&#039;ImgInp&#039; size=5 onchange=&#039;DisplayImage();&#039;&gt;&lt;/TD&gt;&lt;/TR&gt;

    &lt;FORM NAME=&#039;frm1&#039;&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c1&#039;&gt;&lt;/TD&gt;&lt;TD&gt;MotionBlur&lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c2&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Wave    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c3&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Emboss    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c4&#039;&gt;&lt;/TD&gt;&lt;TD&gt;XRay    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c5&#039;&gt;&lt;/TD&gt;&lt;TD&gt;GrayScale    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c6&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Glow    &lt;/TD&gt;&lt;/TR&gt;
        &lt;TR&gt;&lt;TD&gt;&lt;INPUT TYPE=CHECKBOX ID=&#039;c7&#039;&gt;&lt;/TD&gt;&lt;TD&gt;Shadow    &lt;/TD&gt;&lt;/TR&gt;
    &lt;/FORM&gt;

    &lt;TR&gt;&lt;TD colspan=2&gt;&lt;INPUT class=&#039;bat&#039; TYPE=BUTTON VALUE=&#039;Применить&#039; onclick=&#039;Set_Effect();&#039;&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;/TABLE&gt;
&lt;!-----------------------------------------------------------------------------------------------------------&gt;
&lt;SCRIPT Language=&#039;JavaScript&#039;&gt;

    var frm=document.forms[0]
//----------------------------------------------------------------------
//Массив графических фильтров
var Filters=new Array(    
    &quot;progid:DXImageTransform.Microsoft.MotionBlur    (Direction=1,Strength=200)&quot;,
    &quot;progid:DXImageTransform.Microsoft.Wave        (phase=5,freq=6,strength=10,lightStrength=10)&quot;,    
    &quot;progid:DXImageTransform.Microsoft.Emboss    (enables=&#039;true&#039;)&quot;,    
    &quot;progid:DXImageTransform.Microsoft.BasicImage    (XRay=1);&quot;,
    &quot;progid:DXImageTransform.Microsoft.BasicImage    (GrayScale=10)&quot;,
    &quot;progid:DXImageTransform.Microsoft.Glow        (Color=&#039;purple&#039;,Streigth=100)&quot;,
    &quot;progid:DXImageTransform.Microsoft.Shadow    (Color=&#039;red&#039;,Direction=&#039;left&#039;,Streigth=100)&quot;)
//----------------------------------------------------------------------
//Загрузка изображения
    function DisplayImage()
        {
        //Сброс флажков
        for (i=0;i&lt;=frm.length-1;i++)
            {frm.elements[i].checked=false}

        //Установка пустого фильтра
        img1.style.filter=&#039;&#039;

        //Установка изображения
        img1.src=ImgInp.value
        }
//----------------------------------------------------------------------
//Включение группы фильтров
    function Set_Effect()
    {
    var filt=&#039;&#039;

    //Создание комбинации фильтров
    for (i=0;i&lt;=frm.length-1;i++)
        {
        if (frm.elements[i].checked){filt=filt+Filters[i]+&#039;\\\n&#039;}
        }

    //Установка комбинации фильтров
    img1.style.filter=filt
    }
//----------------------------------------------------------------------
&lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Poltergeyst)]]></author>
			<pubDate>Mon, 19 Jan 2009 12:18:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=18316#p18316</guid>
		</item>
		<item>
			<title><![CDATA[HTA: графические фильтры DXImageTransform]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=18137#p18137</link>
			<description><![CDATA[<p>Пример изменения градиентной заливки HTML,HTA документа с использованием фильтра DXImageTransform.Microsoft.Gradient. Двойной щелчок левой кнопкой мыши приведет к изменению градиентной заливки рабочей области документа в случайной цветовой гамме.<br />----------------------------------------------------------------<br />Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше<br />OC Win98/Me/XP<br />----------------------------------------------------------------</p><p>Файл <strong>grad.hta</strong>:<br /></p><div class="codebox"><pre><code>&lt;META HTTP-EQUIV=Content-Type content=&#039;text/html;charset=windows-1251&#039;&gt;
&lt;HTML&gt;
&lt;!--
---------------------------------------------------------------------------------
Пример изменения градиентной заливки HTML,HTA документа с использованием фильтра
DXImageTransform.Microsoft.Gradient. Двойной щелчок левой кнопкой мыши приведет к 
изменению градиентной заливки рабочей области документа в случайной цветовой гамме.
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------
--&gt;
&lt;TITLE&gt;DXImageTransform.Microsoft.Gradient&lt;/TITLE&gt;
&lt;BODY onclick=&#039;SetGradient()&#039;&gt;

&lt;SCRIPT Language=&#039;JavaScript&#039;&gt;
    //----------------------------------------------------------------------    
    function window.onload()
    {
        document.body.style.filter=&#039;progid:DXImageTransform.Microsoft.Gradient(GradientType=1);&#039;
        alert(&#039;Двойной щелчок левой кнопкой мыши по области окна приведет к изменению градиентной заливки.&#039;)        
    }
    //----------------------------------------------------------------------
    function SetGradient()
    {
        
        with (document.body.filters.item(0))
        {
        try
        {
            col1=callVB(GetRColor())
            col2=callVB(GetRColor())
            StartColorStr    =col1
            EndColorStr    =col2
        }
        catch(err){if (err.number){SetGradient()}}
        }
    }
    //----------------------------------------------------------------------
&lt;/SCRIPT&gt;


&lt;SCRIPT Language=&#039;JavaScript&#039;&gt;
    function callVB(param)
        {return param}
&lt;/SCRIPT&gt;


&lt;SCRIPT Language=&quot;VBScript&quot;&gt;
    Function GetRColor()
    Randomize
    GetRColor=&quot;#&quot; &amp; Hex(Fix(Rnd()*&amp;HFFFFFF))
    End Function
&lt;/SCRIPT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Poltergeyst)]]></author>
			<pubDate>Fri, 16 Jan 2009 03:23:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=18137#p18137</guid>
		</item>
	</channel>
</rss>
