Вверх ↑
Пакеты 
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
    (комментарии к статье еще не добавлены)
    Комментарий
    ...