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

HiAsm - Конструктор программ |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » HiAsm - Конструктор программ » Архив схем с использованием IC от andrestudio » ScreenToPNG
Делает скрин прямоугольной области и сохранят в PNG
По моему удобно получилось, так как ничего лишнего.
Двойной клик по полупрозрачному окну делает снимок.
У каждого окна контекстное меню.
скачать

А вот мой вариант, с полностью прозрачной формой, как в 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,[])
}

Показано только само окно-область, формирование имени файла и событие для снимка - это дело каждого. 
Вы здесь » HiAsm - Конструктор программ » Архив схем с использованием IC от andrestudio » ScreenToPNG