HiAsm - Конструктор программ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



ScreenToPNG

Сообщений 1 страница 2 из 2

1

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

скачать

https://upforme.ru/uploads/001b/10/a7/2/569141.gif

0

2

А вот мой вариант, с полностью прозрачной формой, как в UVScreenCamera:

Код:
Add(PictureStream,3493138,546,224)
{
 Quality=90
}
Add(Button,8086098,413,147)
{
 @Color=255
 Left=320
 Top=55
 Width=65
 Height=25
 Caption="Область"
 Data=Integer(1)
 link(onClick,8063350:doWork1,[])
 AddHint(-70,-1,58,13,Caption)
 AddHint(-34,18,21,13,Data)
}
Add(ScreenShort,8665154,476,231)
{
 UseRegion=1
 Point(Region)
 link(onCapture,15489880:doWork2,[])
 link(Region,8063350:Var2,[])
}
Add(ChildForm,8063350,476,147)
{
 @Hint=#17:Область скриншота|
}
BEGIN_SDK
  Add(EditMulti,4804366,21,21)
  {
   WorkCount=2
   VarCount=2
   Height=298
   VOffset=35
   HOffset=70
   link(doWork1,13786822:In,[])
   link(doWork2,14391666:doOperation,[(42,69)(42,153)])
   link(Var1,13799839:Var1,[(97,306)])
   link(Var2,8605154:Result,[])
  }
  Add(MainForm,10791562,413,35)
  {
   Left=35
   Top=105
   Color=8388736
   Visible=1
   BorderStyle=7
   DragForm=0
   SavePosName="PrScreener.ini\\Region"
   TransparentManager="123"
   Point(Handle)
   Point(doVisible)
   link(onCreate,1949982:doData,[])
  }
  Add(TransparentManager,11667004,560,42)
  {
   @Hint=#107:На моей винде делаются прозрачными и одновременно позволяют проваливаться под них только симметричные цвета|20:clPurple = $80 00 80|
   Name="123"
   FormTranspColor=8388736
   LeftWidth=20
   RightWidth=20
   TopHeight=20
   BottomHeight=20
   AddHint(72,-17,179,65,@Hint)
  }
  Add(ChildPanel,16569986,413,126)
  {
   link(onEvent1,8736232:doReset,[])
   link(Data1,696278:Var2,[])
  }
  BEGIN_SDK
    Add(EditMulti,16122400,21,21)
    {
     EventCount=1
     DataCount=1
    }
    Add(Panel,16212458,119,98)
    {
     Width=400
     Height=20
     Align=2
     Color=65280
     link(onClick,10587399:doMove,[])
    }
    Add(MoveWindow,10587399,168,98)
    {
     link(Handle,16122400:Data1,[(174,60)(27,60)])
    }
    Add(ButtonRush,10641312,273,21)
    {
     Left=378
     Top=2
     Width=20
     Height=16
     Align=3
     BorderColorOver=10789024
     ColorShadowOver=16777215
     ShadowOffsetOver=0
     UpdateSpeed=0
     Caption="Х"
     Glyphs=[]
     link(onClick,16122400:onEvent1,[])
    }
  END_SDK
  Add(ChildPanel,5872043,406,182)
  {
   link(Data1,7627328:Var2,[])
  }
  BEGIN_SDK
    Add(EditMulti,8733418,21,21)
    {
     DataCount=1
    }
    Add(Panel,673315,91,77)
    {
     Width=400
     Height=5
     Align=4
     Color=65280
     link(onClick,15339854:doMove,[])
    }
    Add(MoveWindow,15339854,147,77)
    {
     link(Handle,8733418:Data1,[(153,49)(27,49)])
    }
  END_SDK
  Add(GetDataEx,696278,413,105)
  {
   link(Data,11045768:Var2,[])
  }
  Add(ChildPanel,13751857,364,126)
  {
   link(Data1,7627328:Var1,[(370,110)])
  }
  BEGIN_SDK
    Add(EditMulti,8840099,21,21)
    {
     DataCount=1
    }
    Add(Panel,7965088,119,98)
    {
     Top=5
     Width=5
     Height=290
     Align=1
     Color=65280
     link(onClick,4259288:doMove,[])
    }
    Add(MoveWindow,4259288,168,98)
    {
     link(Handle,8840099:Data1,[(174,60)(27,60)])
    }
  END_SDK
  Add(GetDataEx,7627328,406,105)
  {
   Angle=1
   link(Data,696278:Var1,[])
  }
  Add(ChildPanel,12797164,462,168)
  {
   link(Data1,696278:Var3,[(468,110)])
  }
  BEGIN_SDK
    Add(EditMulti,6250147,21,21)
    {
     DataCount=1
    }
    Add(Panel,16307853,119,98)
    {
     Top=5
     Width=5
     Height=290
     Align=3
     Color=65280
     link(onClick,240658:doMove,[])
    }
    Add(MoveWindow,240658,168,98)
    {
     link(Handle,6250147:Data1,[(174,60)(27,60)])
    }
  END_SDK
  Add(WinTools,335217,518,42)
  {
   link(Handle,11045768:Var3,[(524,30)(460,30)(460,82)])
  }
  Add(DoData,1949982,469,49)
  {
   Data=Integer(1)
   link(onEventData,335217:doPopup,[])
   AddHint(8,-18,21,13,Data)
  }
  Add(GetDataEx,11045768,413,77)
  {
   link(Data,10791562:Handle,[])
  }
  Add(PosWindow,9681169,98,98)
  {
   link(Handle,679457:Var1,[(104,82)])
  }
  Add(PointXY,13322257,98,196)
  {
   link(X,14391666:Result,[(104,188)(69,188)])
   link(Y,14864177:Result,[])
  }
  Add(PointXY,6469236,161,196)
  {
   link(X,2706150:Result,[])
   link(Y,8554930:Result,[(174,188)(209,188)])
  }
  Add(SizeWindow,4169557,196,98)
  {
   link(Handle,679457:Var2,[])
  }
  Add(GetDataEx,679457,196,77)
  {
   Angle=1
   link(Data,11045768:Var1,[])
  }
  Add(Math,14391666,63,147)
  {
   Op2=12
   ResultType=0
   link(onResult,14864177:doOperation,[])
   link(Op1,9681169:CurrentLeft,[(69,139)(104,139)])
  }
  Add(Math,14864177,105,147)
  {
   Op2=27
   ResultType=0
   link(onResult,2706150:doOperation,[])
   link(Op1,9681169:CurrentTop,[])
  }
  Add(Math,2706150,161,147)
  {
   OpType=1
   Op2=24
   ResultType=0
   link(onResult,8554930:doOperation,[])
   link(Op1,4169557:CurrentWidth,[(167,139)(202,139)])
  }
  Add(Math,8554930,203,147)
  {
   OpType=1
   Op2=39
   ResultType=0
   link(onResult,11532550:In,[])
   link(Op1,4169557:CurrentHeight,[])
  }
  Add(LineBreak,14063066,56,259)
  {
   link(Out,8605154:doCreateRect,[])
   Primary=[11532550,189,-112]
  }
  Add(GetDataEx,13799839,553,301)
  {
   link(Data,8736232:State,[])
  }
  Add(RGN_Rect,8605154,98,259)
  {
   Point2AsOffset=0
   link(Point1,13322257:Point,[])
   link(Point2,6469236:Point,[(111,243)(167,243)])
  }
  Add(Switch,8736232,553,119)
  {
   DataOn=Integer(1)
   DataOff=Integer(0)
   link(onSwitch,10791562:doVisible,[(597,125)(597,97)(401,97)(401,69)])
   AddHint(-15,-22,21,13,DataOff)
   AddHint(20,-23,21,13,DataOn)
  }
  Add(LineBreak,7892894,511,119)
  {
   Caption="0/1"
   link(Out,8736232:doSwitch,[])
   Primary=[13786822,-462,-63]
  }
END_SDK
Add(Hub,9163698,434,224)
{
 link(onEvent1,8063350:doWork2,[(462,230)(462,160)])
 link(onEvent2,8665154:doCapture,[])
}
Add(ScreenShort,4754156,434,280)
{
 link(onCapture,15489880:doWork3,[(522,286)])
}
Add(IndexToChanel,1084720,385,217)
{
 Data=Integer(0)
 Point(Index)
 link(onEvent1,4754156:doCapture,[(425,223)(425,286)])
 link(onEvent2,9163698:doEvent1,[])
 link(Index,8063350:Var1,[(391,198)(482,198)])
 AddHint(4,36,21,13,Data)
}
Add(HubEx,15489880,518,231)
{
 link(onEvent,3493138:doSave,[])
}

https://upforme.ru/uploads/001b/10/a7/10/t619964.gif
Показано только само окно-область, формирование имени файла и событие для снимка - это дело каждого.  8-)

0



Рейтинг форумов | Создать форум бесплатно