1 (изменено: Poltergeyst, 2009-01-24 14:00:20)

Тема: HTA: графические фильтры DXImageTransform

Пример изменения градиентной заливки HTML,HTA документа с использованием фильтра DXImageTransform.Microsoft.Gradient. Двойной щелчок левой кнопкой мыши приведет к изменению градиентной заливки рабочей области документа в случайной цветовой гамме.
----------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
OC Win98/Me/XP
----------------------------------------------------------------

Файл grad.hta:

<META HTTP-EQUIV=Content-Type content='text/html;charset=windows-1251'>
<HTML>
<!--
---------------------------------------------------------------------------------
Пример изменения градиентной заливки HTML,HTA документа с использованием фильтра
DXImageTransform.Microsoft.Gradient. Двойной щелчок левой кнопкой мыши приведет к 
изменению градиентной заливки рабочей области документа в случайной цветовой гамме.
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------
-->
<TITLE>DXImageTransform.Microsoft.Gradient</TITLE>
<BODY onclick='SetGradient()'>

<SCRIPT Language='JavaScript'>
    //----------------------------------------------------------------------    
    function window.onload()
    {
        document.body.style.filter='progid:DXImageTransform.Microsoft.Gradient(GradientType=1);'
        alert('Двойной щелчок левой кнопкой мыши по области окна приведет к изменению градиентной заливки.')        
    }
    //----------------------------------------------------------------------
    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()}}
        }
    }
    //----------------------------------------------------------------------
</SCRIPT>


<SCRIPT Language='JavaScript'>
    function callVB(param)
        {return param}
</SCRIPT>


<SCRIPT Language="VBScript">
    Function GetRColor()
    Randomize
    GetRColor="#" & Hex(Fix(Rnd()*&HFFFFFF))
    End Function
</SCRIPT>
</BODY>
</HTML>

2

Re: HTA: графические фильтры DXImageTransform

Пример работы графических фильтров DXImageTransform для наложения эффектов на изображение в HTA,HTML документе. Нажмите кнопку "Открыть" и выберите произвольное изображение (bmp,jpg,gif). Выберите комбинацию эффектов путем простановки флажков в левой части документа и примените эффекты нажав кнопку "Применить". Чтобы вернуться к исходному изображению снимите все флажки и нажмите "Применить".
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------

Файл filters.hta

<META HTTP-EQUIV=Content-Type content='text/html;charset=windows-1251'>
<HTML>
<!--
---------------------------------------------------------------------------------
Пример работы графических фильтров DXImageTransform для для наложения эффектов на 
изображение HTA,HTML документе. Нажмите кнопку "Открыть" и выберите произвольное 
изображение (bmp,jpg,gif). Выберите комбинацию эффектов путем простановки флажков 
в левой части документа и примените эффекты нажав кнопку "Применить". Чтобы 
вернуться к исходному изображению снимите все флажки и нажмите "Применить".
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------
-->
<TITLE>DXImageTransform</TITLE>
<HTA:APPLICATION/>
<!----------------------------------------------------------------------------------------------------------->
<STYLE type=text/css>
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; }        
</STYLE>

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

    <FORM NAME='frm1'>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c1'></TD><TD>MotionBlur</TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c2'></TD><TD>Wave    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c3'></TD><TD>Emboss    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c4'></TD><TD>XRay    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c5'></TD><TD>GrayScale    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c6'></TD><TD>Glow    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c7'></TD><TD>Shadow    </TD></TR>
    </FORM>

    <TR><TD colspan=2><INPUT class='bat' TYPE=BUTTON VALUE='Применить' onclick='Set_Effect();'></TD></TR>
</TABLE>
<!----------------------------------------------------------------------------------------------------------->
<SCRIPT Language='JavaScript'>

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

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

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

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

    //Установка комбинации фильтров
    img1.style.filter=filt
    }
//----------------------------------------------------------------------
</SCRIPT>
</BODY>
</HTML>

3 (изменено: Poltergeyst, 2009-01-24 13:04:41)

Re: HTA: графические фильтры DXImageTransform

Дальнейшее развитие предыдущего примера. Появилась возможность сохранять область фильтрованного изображения в графический файл BMP формата, а также изменять размер изображения.

----------------------------------------------------------------------
Пример работы графических фильтров DXImageTransform для изменения изображения в HTA,HTML документе.
----------------------------------------------------------------------
Запустите effects.hta. Нажмите кнопку "Открыть" и выберите произвольное изображение [bmp,jpg,gif]. Выберите комбинацию эффектов путем простановки флажков в левой части документа. Примените эффекты нажав кнопку "Применить". Чтобы вернуться к исходному изображению снимите все флажки и вновь нажмите "Применить". Для изменения масштаба изображения нажимайте кнопки "M +" или "M -". Для восстановления исходного размера изображения, щелкните по рисунку левой кнопкой мыши. Для сохранения области фильтрованного изображения в BMP формат, нажмите кнопку "Сохранить".
----------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше

Потребуется установленный LangMF 7.7.0.0 и выше

OC Win98/Me/XP
----------------------------------------------------------------------

Содержимое effects.hta:

<META HTTP-EQUIV=Content-Type content='text/html;charset=windows-1251'>
<HTML>
<!--
---------------------------------------------------------------------------------
Пример работы графических фильтров DXImageTransform для изменения изображения в HTA,HTML документе. 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Нажмите кнопку "Открыть" и выберите произвольное изображение [bmp,jpg,gif]. 
 Выберите комбинацию эффектов путем простановки флажков в левой части документа.
 Примените эффекты нажав кнопку "Применить". 
 Чтобы вернуться к исходному изображению снимите все флажки и вновь нажмите "Применить". 
 Для изменения размера изображения нажимайте кнопки "M +" или "M -". 
 Для восстановления исходного размера изображения, щелкните по рисунку левой кнопкой мыши.

 Для сохранения области фильтрованного изображения в BMP формат, нажмите кнопку "Сохранить".
---------------------------------------------------------------------------------
Lang. JavaScript, на платформе HTA для Internet Explorer 5.5 и выше
Потребуется установленный LangMF 7.7.0.0 и выше
OC Win98/Me/XP
---------------------------------------------------------------------------------
-->
<TITLE>DXImageTransform_Viewer</TITLE>
<HTA:APPLICATION
    ID        ='DXImageTransform_Viewer'
    APPLICATIONNAME    ='DXImageTransform_Viewer'
    windowState    ='maximize'/>
<!----------------------------------------------------------------------------------------------------------->
<STYLE type=text/css>
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; }    
    
</STYLE>

<BODY>
<!----------------------------------------------------------------------------------------------------------->
<IMG ID='img1' style='position: absolute; top: 10; left: 200' onclick='img1.style.width="auto";'> 
<!----------------------------------------------------------------------------------------------------------->

<DIV ID='batonsSet' style='position: absolute; top: 10; left: 5; width: 140;'>
<TABLE>
    <TR><TD colspan=2><INPUT style='width: 70;' TYPE=FILE ID='ImgInp' size=5 onchange='DisplayImage();'></TD></TR>

    <FORM NAME='frm1'>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c1'></TD><TD>MotionBlur</TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c2'></TD><TD>Wave    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c3'></TD><TD>Emboss    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c4'></TD><TD>XRay    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c5'></TD><TD>GrayScale    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c6'></TD><TD>Glow    </TD></TR>
        <TR><TD><INPUT TYPE=CHECKBOX ID='c7'></TD><TD>Shadow    </TD></TR>
    </FORM>

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

    '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Sub Load(cmdstr)
    
    End Sub

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

        '[Сохранение в формат BMP]
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        DefFileName=Sys.File.GetFSideN(FileName)

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

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


        Const SW_MAXIMIZE    =3
        Const CF_BITMAP        =2

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


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

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

        Sys.cSleep(100)

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

        Sys.cSleep(100)

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


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


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

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

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

        '[Извлечение данных буфера обмена и запись в файл]
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        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
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        MsgBox "Область изображения сохранена", _
            vbSystemModal+vbInformation, _
            "Сохранение фильтрованного изображения"

        Sys.cSleep(100)

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

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

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

    var filt=''

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

    //Установка комбинации фильтров
    img1.style.filter=filt
    }
//----------------------------------------------------------------------
    function SaveForFile()
    {
        if (!ImgInp.value){alert('Изображение отсутствует.');return;}    
        LMX.FuncRun('SaveWindowScreenShot',1,ImgInp.value)
    }
//----------------------------------------------------------------------
    function SetScale(param)
    {
    if (!ImgInp.value){alert('Изображение отсутствует.');return;}    
    img1.style.width=param*100+img1.width
    }
//----------------------------------------------------------------------
    function window.onload()
    {
        LMX.Command(LMFCode.innerText)    
    }
//----------------------------------------------------------------------
    function window.onclose()
    {LMX.Reset()}
//----------------------------------------------------------------------
//poltergeyst
</SCRIPT>
</BODY>
</HTML>

Применённым в этом примере методом можно сохранять в BMP файл скриншот любого окна.