Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Oкнo 
Регионы - RGN_OutlinePicture

RGN_OutlinePicture
Краткое описание
   Компонент предназначен для создания контурного региона по картинкам
Параметры
  • ModeTransparent - Режим использования цвета прозрачности
  • Transparent - Цвет прозрачности. Внимание! Цвет прозрачности следует выбирать с одинаковыми составляющими R и B цвета (G составляющая цвета не влияет на прозрачность). В любом случае, для получения прзрачности, цвет фона самого рисунка должен иметь одинаковые составляющие R и B цвета, также, как и свойство Transparent. Этому условию удовлетворяют следующие стандартные цвета - clBlack, clGray, clSilver, clWhite, clGreen, clLime, clPurple, clFuchsia. Точно так же, цвет прозрачности необхоимо выбирать и для рисунка формы.
  • Picture - Картиника для создания контурного региона Примечание. Метод doPicture загружает картинку в память и сразу создает по ней регион, те, метод работает аналогично одноименному методу в форме
  • Методы
  • doOutlinePicture - Создает контурный регион Примечание. Данный метод создает регион по, уже загруженной или существующей в свойстве Picture, картинке
  • События
  • onOutlinePicture - Событие происходит всякий раз после создания контурного региона и выдает результат в поток ARG(Region)
  • Свойства
  • Result - Содержит созданный регион
  • Bitmap - Содержит картинку
  • Width - Содержит ширину картинки
  • Height - Содержит высоту картинки
  • Данные
  • SrcBitmap - Картиника для создания контурного региона
  • Примеры
    Пример использования компонента RGN_OutLinePicture
    
    
    Add(MainForm,2953706,182,238)
    {
    Width=466
    Height=386
    }
    Add(Image,14871351,448,168)
    {
    Left=10
    Top=10
    Width=440
    Height=305
    ViewStyle=4
    Point(Handle)
    Point(onMouseDown)
    Point(doVisible)
    link(onMouseDown,2066315:doMove,[(560,181)(560,251)])
    }
    Add(RGN_OutlinePicture,4510435,448,245)
    {
    ModeTransparent=0
    Transparent=0
    Point(doPicture)
    link(onOutlinePicture,7954183:doSetRegion,[])
    link(SrcBitmap,14871351:ImageBitmap,[])
    }
    Add(RGN_SetToWindow,7954183,504,245)
    {
    link(onSetRegion,4731033:doWork1,[(551,251)(551,158)(431,158)])
    link(Handle,8950737:Var2,[])
    }
    Add(MoveWindow,2066315,574,245)
    {
    link(Handle,8950737:Var3,[(580,226)])
    }
    Add(Button,5771459,182,182)
    {
    Left=200
    Top=325
    TabOrder=-1
    Caption="Load"
    link(onClick,6607378:doExecute,[])
    }
    Add(ODialog,6607378,231,182)
    {
    Filter="BMP, JPG, JPEG, ICO, PCX files (*.bmp;*.jpg;*.jpeg;*.ico;*.pcx)|*.bmp;*.jpg;*.jpeg;*.ico;*.pcx|All files (*.*)|*.*"
    FileName=""
    Select=1
    link(onExecute,5227385:doLoad,[])
    }
    Add(PictureStream,5227385,280,182)
    {
    link(onLoad,15040001:doEvent1,[])
    }
    Add(Hub,15040001,329,182)
    {
    OutCount=4
    link(onEvent1,6913469:doData,[])
    link(onEvent2,14871351:doClear,[(370,195)(370,181)])
    link(onEvent3,14871351:doLoad,[(360,202)(360,174)])
    link(onEvent4,4510435:doPicture,[(359,209)(359,258)])
    }
    Add(DoData,6913469,385,182)
    {
    Data=Integer(0)
    link(onEventData,4731033:doWork2,[])
    }
    Add(GetDataEx,8950737,504,221)
    {
    Angle=3
    link(Data,14871351:Handle,[(461,226)])
    }
    Add(HubEx,4731033,427,182)
    {
    link(onEvent,14871351:doVisible,[])
    }

    Пример получения прозрачных контролов при помощи компонента RGN_OutLinePicture
    
    Add(ChildGroupBox,15886754,364,196)
    {
    }
    BEGIN_SDK
    Add(EditMulti,16100322,21,21)
    {
    WorkCount=1
    Width=244
    Height=211
    VOffset=154
    link(doWork1,13022472:doCapture,[])
    }
    Add(GroupBox,9954362,56,98)
    {
    Left=5
    Top=10
    Width=141
    Height=105
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    Caption="Разрешение экрана"
    Point(Handle)
    }
    Add(RadioButton,3305930,56,56)
    {
    Left=15
    Top=15
    Width=95
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    TabOrder=-1
    Selected=0
    Caption="640x480"
    }
    Add(RadioButton,991167,98,63)
    {
    Left=15
    Top=35
    Width=95
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    TabOrder=-1
    Caption="800x600"
    }
    Add(RadioButton,2320702,140,70)
    {
    Left=15
    Top=55
    Width=95
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    TabOrder=-1
    Caption="1024x768"
    }
    Add(RadioButton,6953786,182,77)
    {
    Left=15
    Top=75
    Width=95
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    TabOrder=-1
    Caption="1280x1024"
    }
    Add(ScreenShort,13022472,56,175)
    {
    link(onCapture,2523835:doPicture,[])
    link(Handle,12055411:Var2,[])
    }
    Add(RGN_OutlinePicture,2523835,112,168)
    {
    ModeTransparent=0
    Transparent=8421504
    Point(doPicture)
    link(onOutlinePicture,10027293:doSetRegion,[])
    }
    Add(RGN_SetToWindow,10027293,161,168)
    {
    link(Handle,12055411:Var3,[(167,152)])
    }
    Add(GetDataEx,12055411,56,147)
    {
    link(Data,9954362:Handle,[])
    }
    END_SDK
    Add(MainForm,1919505,224,182)
    {
    Width=315
    Height=153
    Color=16776960
    AlphaBlendValue=0
    Caption=""
    BorderStyle=1
    Position=1
    Point(doAlphaBlendValue)
    link(onCreate,6990887:doTimer,[])
    }
    Add(Timer,6990887,266,196)
    {
    Interval=25
    Enable=1
    AutoStop=1
    Point(onStop)
    link(onTimer,6020221:doEvent1,[])
    link(onStop,6460462:doData,[(312,209)(312,250)(162,250)(162,216)])
    }
    Add(DoData,6460462,175,210)
    {
    Data=Integer(255)
    link(onEventData,1919505:doAlphaBlendValue,[])
    }
    Add(ChildGroupBox,935026,364,238)
    {
    }
    BEGIN_SDK
    Add(EditMulti,9766427,21,21)
    {
    WorkCount=1
    Width=209
    Height=214
    VOffset=154
    link(doWork1,11923036:doCapture,[])
    }
    Add(GroupBox,7821713,49,98)
    {
    Left=155
    Top=10
    Width=150
    Height=105
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    Caption="Музыка"
    Point(Handle)
    }
    Add(RadioButton,5239857,49,42)
    {
    Left=10
    Top=20
    Width=95
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    TabOrder=-1
    Selected=0
    Caption="Выключено"
    }
    Add(RadioButton,16160049,91,56)
    {
    Left=10
    Top=40
    Width=95
    Color=8421504
    Font=[MS Sans Serif,8,1,0,1]
    TabOrder=-1
    Caption="Включено"
    }
    Add(ScreenShort,11923036,49,175)
    {
    link(onCapture,15630299:doPicture,[])
    link(Handle,12055411:Var2,[])
    }
    Add(RGN_OutlinePicture,15630299,105,168)
    {
    ModeTransparent=0
    Transparent=8421504
    Point(doPicture)
    link(onOutlinePicture,7012359:doSetRegion,[])
    }
    Add(RGN_SetToWindow,7012359,154,168)
    {
    link(Handle,12055411:Var3,[(160,152)])
    }
    Add(GetDataEx,12055411,49,147)
    {
    link(Data,7821713:Handle,[])
    }
    END_SDK
    Add(Hub,6020221,322,196)
    {
    link(onEvent1,15886754:doWork1,[])
    link(onEvent2,935026:doWork1,[(350,209)(350,244)])
    }

    Замечания
    Обновление элемента: [svn]RGN_OutlinePicture.pas[/svn]
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...