г. Серый писал(а): реализовать снятие скрина по заданным пропорциям
Всегда пожалуйста, если что не так, скажи, мышку нужно вправо-влево двигать, а высота сама опредиляется
Add(ChildForm,225965,399,441) { @Hint=#8:Скриншот| FirstUsage=0 link(onEvent2,6058073:doLoad,[(439,454)(439,447)]) link(Data1,4115148:Text,[(405,411)(398,411)]) link(Data2,14443989:Text,[(412,387)(447,387)]) } BEGIN_SDK Add(EditMulti,20626,21,-105) { EventCount=3 WorkCount=1 DataCount=2 VarCount=2 Width=818 Height=690 link(doWork1,9500061:doEvent1,[(35,-99)(35,-36)]) link(Var1,3062001:Var2,[(27,382)(405,382)]) link(Var2,9718362:Var2,[(34,379)(489,379)(492,369)]) } Add(MainForm,2953706,175,-14) { Visible=1 Cursor=14 BorderStyle=0 WindowsState=2 Point(onPaint) Point(Handle) Point(doVisible) Point(onMouseDown) Point(onMouseMove) Point(onMouseUp) Point(MouseX) Point(MouseY) Point(onKeyDown) Point(doShowModal) link(onPaint,8992879:doWork2,[(237,13)(237,90)]) link(onMouseDown,16357478:doEvent1,[(229,20)(229,167)]) link(onMouseMove,8236508:doEvent1,[(211,27)(211,225)]) link(onMouseUp,5566557:doEvent1,[(236,34)(236,293)]) link(onKeyDown,2301313:doCompare,[(226,41)(226,34)]) } Add(Img_Rectangle,11471027,343,224) { DrawSource=1 Point(Point1) Point(Point2) link(Bitmap,15714117:Var2,[]) link(Point1,1726334:Var2,[]) link(Point2,1031768:Var3,[(370,145)]) } Add(Img_Copy,5117340,301,0) { Width=100 Height=100 DrawSource=1 Point(Width) Point(Height) link(onCopy,13455687:doEvent1,[]) link(Width,15295523:Width,[]) link(Height,15295523:Height,[]) } Add(Bitmap,14942203,399,0) { } Add(Img_Bmp,371719,392,84) { DrawSource=1 link(Bitmap,15714117:Var3,[(398,54)]) link(SourceBitmap,3579634:Var2,[]) } Add(Hub,13455687,364,0) { OutCount=4 link(onEvent1,14942203:doLoad,[]) link(onEvent2,2953706:doShowModal,[(391,13)(391,-28)(148,-28)(148,27)]) link(onEvent3,15511990:doWork2,[(466,20)(466,-22)]) } Add(Screen,15295523,322,-70) { } Add(PointXY,7537158,182,98) { link(X,15253252:Var2,[]) link(Y,13833569:Var2,[]) } Add(Memory,4896072,357,161) { Default=Integer(-1) Point(Data) link(Data,1031768:Var2,[(363,155)(293,155)]) } Add(Hub,6922133,287,217) { link(onEvent1,8992879:doWork3,[(312,223)]) link(onEvent2,11471027:doDraw,[]) } Add(HubEx,8992879,308,84) { link(onEvent,371719:doDraw,[]) } Add(GetDataEx,15714117,343,49) { Angle=3 link(Data,2953706:Handle,[(181,54)]) } Add(GetDataEx,1031768,287,140) { Angle=3 link(Data,7537158:Point,[(188,145)]) } Add(If_else,9503272,238,217) { Type=2 Op2=Integer(-1) link(onTrue,6922133:doEvent1,[]) link(Op1,12550954:Var1,[(244,201)]) } Add(GetDataEx,1726334,357,196) { link(Data,4896072:Value,[]) } Add(If_else,2301313,245,28) { Op2=Integer(27) link(onTrue,15386481:doWork3,[(361,34)]) } Add(Img_Copy,13161524,574,357) { Width=100 Height=100 Point(Width) Point(Height) link(onCopy,20626:onEvent2,[(726,363)(726,-92)]) link(Source,3579634:Var3,[(580,47)]) link(X,15386736:Result,[(587,346)(328,346)]) link(Y,14530089:Result,[(594,341)(426,341)]) link(Width,3062001:Var3,[(601,335)]) link(Height,9718362:Var3,[(608,330)]) } Add(Math,15386736,322,287) { OpType=4 Op2=65535 ResultType=0 link(onResult,3946175:doCalc,[]) link(Op1,13360674:Var2,[]) } Add(Math,14530089,420,287) { OpType=10 Op2=16 ResultType=0 link(onResult,1370707:doCalc,[]) link(Op1,13360674:Var3,[(426,264)]) } Add(GetDataEx,12550954,322,196) { Angle=1 link(Data,1726334:Var1,[]) } Add(GetDataEx,13360674,322,259) { link(Data,12550954:Var2,[]) } Add(MathParse,3946175,371,287) { MathStr="abs(%2 - %1)" link(onResult,14530089:doOperation,[]) link(X2,11786919:Var3,[(384,75)]) } Add(GetDataEx,11786919,182,70) { link(Data,2953706:MouseX,[]) } Add(MathParse,1370707,469,287) { MathStr="abs(%2 - %1)" link(onResult,572685:doEvent1,[]) link(X2,13833569:Var3,[(482,68)]) } Add(GetDataEx,13833569,189,63) { link(Data,2953706:MouseY,[]) } Add(Hub,572685,518,287) { OutCount=3 link(onEvent1,13161524:doCopy,[(553,293)(553,363)]) link(onEvent2,20626:onEvent1,[(686,300)(686,-99)]) link(onEvent3,15386481:doWork2,[(544,307)(544,-78)]) } Add(HubEx,15386481,357,-84) { Angle=2 link(onEvent,2953706:doClose,[(163,-78)(163,13)]) } Add(GetDataEx,3579634,399,42) { link(Data,14942203:Bitmap,[]) } Add(Hub,9500061,49,-42) { OutCount=5 link(onEvent1,15478606:doValue,[]) link(onEvent2,15511990:doWork1,[]) link(onEvent3,4896072:doClear,[(118,-22)(118,174)]) link(onEvent4,1809875:doTimer,[]) } Add(WinEnum,3199032,658,-91) { Point(GetActiveWindow) } Add(ChanelToIndex,15511990,553,-35) { link(onIndex,6635012:doVisible,[]) } Add(WinTools,6635012,609,-35) { link(Handle,15478606:Value,[(615,-52)(643,-52)(643,-3)(671,-3)]) } Add(Memory,15478606,665,-42) { Point(Data) link(Data,3199032:GetActiveWindow,[]) } Add(Timer,1809875,252,-21) { Interval=500 Enable=1 AutoStop=1 link(onTimer,5117340:doCopy,[(292,-15)(292,6)]) } Add(GetDataEx,3062001,399,330) { Angle=3 link(Data,3946175:Result,[(377,335)]) } Add(GetDataEx,9718362,483,325) { Angle=3 link(Data,1370707:Result,[(475,330)]) } Add(Hub,16357478,238,161) { OutCount=3 link(onEvent1,4896072:doValue,[]) link(onEvent2,1656698:doValue,[(264,174)(264,188)(86,188)(86,201)]) link(onEvent3,13754249:doOn,[(264,181)(264,258)(72,258)(72,335)]) } Add(Memory,1656698,98,195) { Default=Integer(-1) Point(Data) link(onData,1386727:doValue,[(154,201)(154,201)]) link(Data,1946038:Var3,[(104,183)(272,183)]) } Add(GetDataEx,15253252,182,77) { link(Data,11786919:Var2,[]) } Add(MouseEvent,8308304,280,455) { Point(doPosition) link(X,2035912:Var2,[(293,436)(289,436)(289,499)]) link(Y,12134395:Result,[(300,433)(195,433)]) } Add(FTCG_Tools,12134395,189,343) { link(onResult,8308304:doPosition,[(230,349)(230,475)]) link(Op2,1656698:Value,[(195,285)(104,285)]) link(Op1,1946038:Var1,[(202,331)(242,331)(242,495)]) link(Op21,20626:Data1,[(209,119)(27,119)]) link(Op22,20626:Data2,[(216,119)(34,119)]) link(Op11,1386727:Value,[(223,285)(169,285)]) } BEGIN_SDK Add(EditMultiEx,4400403,21,21) { WorkCount=#11:doOperation| EventCount=#8:onResult| VarCount=#6:Result| DataCount=#3:Op2|3:Op1|4:Op21|4:Op22|4:Op11| link(doOperation,9136485:doOperation,[(35,27)(35,111)]) link(Result,11087228:Result,[(27,179)(237,179)]) } Add(FT_Math,9136485,49,105) { OpType=1 link(onResult,10043115:doOperation,[]) link(Op1,4400403:Op1,[(55,63)(34,63)]) link(Op2,4400403:Op2,[(62,63)(27,63)]) } Add(FT_Math,10043115,119,105) { OpType=3 Op2=3 link(onResult,11469517:doOperation,[]) link(Op2,4400403:Op21,[(132,63)(41,63)]) } Add(FT_Math,11469517,174,105) { OpType=2 Op2=3 link(onResult,11087228:doOperation,[]) link(Op2,4400403:Op22,[(187,63)(48,63)]) } Add(FT_Math,11087228,231,105) { link(onResult,4400403:onResult,[(285,111)(285,27)]) link(Op2,4400403:Op11,[(244,57)(55,57)]) } END_SDK Add(Hub,5566557,265,287) { link(onEvent1,15386736:doOperation,[]) link(onEvent2,13754249:doReset,[(291,300)(291,314)(72,314)(72,328)]) } Add(Switch,13754249,84,315) { Point(doOn) Point(onOn) Point(doCheck) link(onOn,12134395:doOperation,[(152,328)(152,349)]) } Add(Hub,8236508,214,219) { link(onEvent1,9503272:doCompare,[(233,225)(233,223)]) link(onEvent2,13754249:doCheck,[(240,232)(240,287)(72,287)(72,342)]) } Add(GetDataEx,2035912,280,490) { link(Data,8308304:MouseX,[(286,485)(286,492)]) } Add(GetDataEx,1946038,266,490) { Angle=1 link(Data,2035912:Var1,[]) } Add(Memory,1386727,163,195) { Default=Integer(-1) Point(Data) link(Data,8308304:MouseY,[(169,183)(231,183)(231,499)(293,499)]) } END_SDK Add(Button,12521955,343,441) { Left=75 Top=210 link(onClick,225965:doWork1,[]) } Add(Image,6058073,448,441) { Left=165 Top=25 Width=190 Height=215 } Add(Label,1793226,343,231) { Left=10 Top=25 Width=63 Height=17 Caption="Пропорции:" } Add(Label,11857846,343,294) { Left=10 Top=50 Width=46 Height=17 Caption="Ширина:" } Add(Edit,14443989,441,301) { Left=80 Top=70 Text="3" } Add(Label,10992131,343,350) { Left=10 Top=75 Width=45 Height=17 Caption="Высота:" } Add(Edit,4115148,392,350) { Left=80 Top=45 Text="2" }
P.s используй FTCG как можно чащё, повышает скорость работы, MathParse лучше не использовать, так, как грузит по страшному,
Ivann писал(а): А что делает "вот это" я не пойму
как не понять, всё прекрасно понятно.
|