Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2011-10-07 14:00:50 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 15:16:05
карма: 0

0
Ответов: 3889
Рейтинг: 362
#2: 2011-10-07 14:24:42 ЛС | профиль | цитата
31.23.73.138, Отрисовывать картинку на приложении [burl=http://www.hiasm.com/sha/shatools.php?q=5&id=256]Pen Trail v1.7[/burl] На IC можно сделать даже полупрозрачную отрисовку на чужом контексте с аппаратным ускорением, через GDI+, чем я и занимался, но некогда выпустить новую версию Pen Trail.

А вообще для этих целей гораздо умнее сделать прозрачным окно редактора и не изобретать велосипедный парк.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2011-10-07 15:08:12 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 15:16:06
карма: 0

0
Ответов: 3889
Рейтинг: 362
#4: 2011-10-07 15:13:41 ЛС | профиль | цитата
[offtop]
31.23.73.138 писал(а):
браузер прозрачным делать

Графитти вконтакте кому-то рисуем по фото?[/offtop]
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2011-10-07 15:41:44 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 15:16:06
карма: 0

0
Ответов: 3889
Рейтинг: 362
#6: 2011-10-07 15:48:38 ЛС | профиль | цитата
31.23.73.138, я помню недавно у кого-то был сходный глюк с темой Aero - форма рисовалась, но события "проваливались" сквозь неё. Можно ещё изощрённее поступить, свою картинку сделайте маской региона и можно рисовать как по шаблону. Например, серию сообщений о клике мышью по всему полю отослать, игнорируя принятые нашей формой. Но это на грани добра и зла, конечно. Не многим рациональнее полное перенаправление всех событий на форму ниже, включая мышь.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2011-10-07 16:03:19 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 15:16:06
карма: 0

0
Ответов: 1536
Рейтинг: 176
#8: 2011-10-07 16:09:23 ЛС | профиль | цитата
-----
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 8954
Рейтинг: 824
#9: 2011-10-07 16:18:03 ЛС | профиль | цитата
31.23.73.138, готовая схема выкладывалась, поищите по имени "Калька"
------------ Дoбавленo в 16.18:
Сам поискал, не нашёл :( Тогда вот:

Add(MainForm,25664,322,84)
{
Left=313
Top=234
Width=539
Height=437
Color=15780518
Caption="Калька"
BorderStyle=1
WindowsState=2
Position=1
Point(Left)
Point(Top)
Point(onMove)
link(onCreate,9309138:doWork2,[])
link(onMove,9309138:doWork3,[(366,111)])
}
Add(Hub,16080808,287,147)
{
InCount=2
OutCount=3
link(onEvent1,1589058:doOperation,[])
link(onEvent2,4985473:doOperation,[])
link(onEvent3,1107893:doEvent1,[(375,167)(375,139)])
}
Add(Math,4985473,329,154)
{
Op2=72
link(onResult,2697104:doWork2,[])
link(Op1,25664:Top,[])
}
Add(Math,1589058,322,147)
{
Op2=15
link(onResult,13448865:doWork2,[])
link(Op1,25664:Left,[])
}
Add(HubEx,9309138,362,98)
{
link(onEvent,16080808:doEvent1,[(377,104)(377,130)(277,130)(277,153)])
}
Add(ChildPanel,10285437,378,63)
{
link(onEvent1,8027188:doEvent1,[])
link(onEvent2,1107893:doWork5,[(460,76)(460,146)])
link(onEvent3,3043239:doWork1,[])
link(Data1,1107893:Var1,[(384,51)(579,51)(579,173)(531,173)])
}
BEGIN_SDK
Add(EditMulti,5035852,7,49)
{
EventCount=3
DataCount=1
Width=580
Height=284
}
Add(Panel,4810737,35,161)
{
Width=653
Height=30
Align=2
Color=15780518
}
Add(Button,14254305,231,63)
{
Left=20
Top=5
Width=65
Caption="открыть"
link(onClick,12286951:doEvent1,[])
}
Add(Button,8338441,35,105)
{
Left=90
Top=5
Width=65
Caption="сохранить"
link(onClick,1656335:doExecute,[])
}
Add(ODialog,9594370,315,63)
{
Filter="bmp|*.bmp"
FileName=""
link(onExecute,6886361:doLoad,[])
}
Add(PictureStream,6886361,378,63)
{
link(onLoad,5035852:onEvent1,[(432,69)(432,55)])
}
Add(SDialog,1656335,91,105)
{
Filter="bmp|*.bmp"
FileName=""
link(onExecute,16766850:doSave,[(139,111)(139,118)])
}
Add(PictureStream,16766850,154,105)
{
link(Bitmap,5035852:Data1,[(167,85)(13,85)])
}
Add(Math,9055930,441,105)
{
OpType=2
Op2=-1
link(onResult,5035852:onEvent2,[(530,111)(530,62)])
}
Add(ScrollBar,3008871,378,105)
{
Left=248
Top=6
Height=18
Color=12639424
Min=50
Position=125
link(onPosition,9055930:doOperation,[(426,111)(426,111)])
}
Add(Hub,12286951,280,63)
{
link(onEvent1,9594370:doExecute,[])
link(onEvent2,3454077:doData,[(301,76)(301,111)])
}
Add(DoData,3454077,315,105)
{
Data=Integer(125)
link(onEventData,3008871:doPosition,[(363,111)(363,111)])
}
Add(Label,1940458,259,104)
{
Left=170
Top=8
Width=74
Height=17
Color=15780518
Caption="прозрачность"
}
Add(Label,12354877,91,252)
{
Left=370
Top=10
Width=46
Height=17
Color=15780518
Caption="пиксель"
}
Add(ComboBox,886730,35,217)
{
Left=425
Top=4
Width=40
Height=21
Strings=#1:1|1:2|1:3|1:4|1:5|1:6|1:7|1:8|2:15|2:20|2:30|2:40|
Text=""
DataType=1
link(onClick,66537:doValue,[])
}
Add(GlobalVar,66537,91,224)
{
Name="t"
}
Add(CheckBox,10004778,448,161)
{
Left=510
Top=5
Color=15780518
Caption="zoom"
link(onCheck,7045511:doData,[(491,167)(491,200)(436,200)(436,216)])
}
Add(DoData,7045511,448,210)
{
link(onEventData,5035852:onEvent3,[(534,216)(534,69)])
link(Data,10004778:Checked,[])
}
END_SDK
Add(Hub,8027188,466,63)
{
link(onEvent1,13064739:doLoad,[])
link(onEvent2,16080808:doEvent2,[(555,76)(555,123)(270,123)(270,160)])
}
Add(MultiElementEx,8796397,413,180)
{
link(onEvent,2697104:doWork3,[(459,186)])
link(onEvent1,13448865:doWork3,[(472,193)])
}
BEGIN_SDK
Add(EditMultiEx,15028145,21,21)
{
EventCount=#7:onEvent|8:onEvent1|
Width=538
Height=396
}
Add(Keyboard,16252409,140,56)
{
Key=38
link(onReadKey,1419087:doCompare,[])
}
Add(Keyboard,12088241,140,147)
{
Key=40
link(onReadKey,13407355:doCompare,[])
}
Add(Keyboard,7606284,140,226)
{
Key=37
link(onReadKey,9044013:doCompare,[])
}
Add(Keyboard,4045992,140,315)
{
Key=39
link(onReadKey,1208799:doCompare,[])
}
Add(Timer,5342677,49,56)
{
Interval=50
link(onTimer,4200042:doEvent1,[])
}
Add(Hub,4200042,98,56)
{
OutCount=4
link(onEvent1,16252409:doReadKey,[])
link(onEvent2,12088241:doReadKey,[(123,69)(123,153)])
link(onEvent3,7606284:doReadKey,[(123,76)(123,232)])
link(onEvent4,4045992:doReadKey,[(123,83)(123,321)])
}
Add(Counter,4261787,238,56)
{
Min=-1000
Max=1000
Step=10
Default=45
Point(doValue)
link(onNext,12197117:doEvent1,[])
}
Add(If_else,1419087,182,56)
{
Op2=Integer(1)
link(onTrue,4261787:doNext,[])
}
Add(Counter,8389496,308,147)
{
Min=-1000
Max=1000
Step=10
Type=1
Default=45
Point(doValue)
link(onNext,8296255:doEvent1,[])
}
Add(If_else,13407355,183,147)
{
Op2=Integer(1)
link(onTrue,8389496:doNext,[])
}
Add(DoData,15994147,238,105)
{
link(onEventData,8389496:doValue,[(280,111)(280,174)])
link(Data,4261787:Count,[])
}
Add(Hub,12197117,282,56)
{
link(onEvent1,6128781:doWork2,[(344,62)(344,62)])
link(onEvent2,15994147:doData,[(306,69)(306,96)(226,96)(226,111)])
}
Add(DoData,16458226,308,196)
{
link(onEventData,4261787:doValue,[(351,202)(351,142)(226,142)(226,83)])
link(Data,8389496:Count,[])
}
Add(Hub,8296255,364,147)
{
link(onEvent1,6128781:doWork3,[(391,153)])
link(onEvent2,16458226:doData,[(391,160)(391,187)(296,187)(296,202)])
}
Add(Counter,14756930,245,226)
{
Min=-1000
Max=1000
Step=10
Point(doValue)
link(onNext,6324475:doEvent1,[])
}
Add(If_else,9044013,183,226)
{
Op2=Integer(1)
link(onTrue,14756930:doNext,[])
}
Add(Counter,8013767,315,315)
{
Min=-1000
Max=1000
Step=10
Type=1
Point(doValue)
link(onNext,2973650:doEvent1,[])
}
Add(If_else,1208799,183,315)
{
Op2=Integer(1)
link(onTrue,8013767:doNext,[])
}
Add(DoData,4679867,245,275)
{
link(onEventData,8013767:doValue,[(287,281)(287,342)])
link(Data,14756930:Count,[])
}
Add(Hub,6324475,289,226)
{
link(onEvent1,10504969:doWork2,[(347,232)(347,232)])
link(onEvent2,4679867:doData,[(313,239)(313,266)(233,266)(233,281)])
}
Add(DoData,14755835,315,364)
{
link(onEventData,14756930:doValue,[(358,370)(358,312)(233,312)(233,253)])
link(Data,8013767:Count,[])
}
Add(Hub,2973650,370,315)
{
link(onEvent1,10504969:doWork3,[(392,321)])
link(onEvent2,14755835:doData,[(393,328)(393,355)(303,355)(303,370)])
}
Add(HubEx,6128781,387,56)
{
link(onEvent,15028145:onEvent,[(413,62)(413,27)])
}
Add(HubEx,10504969,388,226)
{
link(onEvent,15028145:onEvent1,[(500,232)(500,34)])
}
END_SDK
Add(HubEx,13448865,468,147)
{
link(onEvent,1107893:doEvent11,[])
}
Add(HubEx,2697104,455,154)
{
link(onEvent,1107893:doEvent2,[])
}
Add(ChildPanelEx,1107893,525,133)
{
link(onEvent2,13064739:doWidth,[(569,139)(569,115)(506,115)(506,83)])
link(onEvent21,13064739:doHeight,[(569,146)(569,115)(506,115)(506,90)])
link(onEvent22,13064739:doLeft,[(569,153)(569,115)(506,115)(506,97)])
link(onEvent23,13064739:doTop,[(569,160)(569,115)(506,115)(506,104)])
link(Data,13064739:ImageWidth,[])
link(Data1,13064739:ImageHeight,[])
}
BEGIN_SDK
Add(EditMultiEx,15569437,21,21)
{
WorkCount=#8:doEvent1|7:doWork5|9:doEvent11|8:doEvent2|
EventCount=#8:onEvent2|9:onEvent21|9:onEvent22|9:onEvent23|
VarCount=#4:Var1|
DataCount=#4:Data|5:Data1|
Width=328
Height=242
VOffset=40
HOffset=170
link(doEvent1,1128073:doEvent1,[])
link(doWork5,7706739:doWork5,[(49,74)(49,209)])
link(doEvent11,9986713:doEvent1,[(49,81)(49,181)])
link(doEvent2,7690605:doEvent1,[(49,88)(49,216)])
link(Var1,7706739:Var1,[(197,238)(300,238)])
}
Add(Panel,909417,84,91)
{
Left=240
Top=55
Visible=1
}
Add(DoData,16449799,191,61)
{
link(onEventData,1823308:doEvent1,[])
link(Data,15569437:Data,[])
}
Add(DoData,3460908,198,110)
{
link(onEventData,11619945:doEvent1,[])
link(Data,15569437:Data1,[])
}
Add(Hub,1128073,149,61)
{
link(onEvent1,16449799:doData,[])
link(onEvent2,3460908:doData,[(172,74)(172,116)])
}
Add(Hub,1823308,240,61)
{
link(onEvent1,15569437:onEvent2,[])
link(onEvent2,7706739:doWork3,[(276,74)(276,195)])
}
Add(Hub,11619945,240,110)
{
link(onEvent1,15569437:onEvent21,[(276,116)(276,74)])
link(onEvent2,7706739:doWork4,[(276,123)(276,202)])
}
Add(ChildForm,7706739,294,175)
{
}
BEGIN_SDK
Add(EditMulti,10395747,21,21)
{
WorkCount=5
VarCount=1
Width=622
Height=312
link(doWork1,12968610:doLeft,[(67,27)(67,69)])
link(doWork2,12968610:doTop,[(54,34)(54,76)])
link(doWork3,12512189:doEvent1,[(28,41)(28,111)])
link(doWork4,13729604:doEvent1,[(42,48)(42,90)])
link(doWork5,12968610:doAlphaBlendValue,[(90,55)(90,97)])
link(Var1,3883585:Var2,[(27,284)(249,284)])
}
Add(MainForm,12968610,112,35)
{
Left=325
Top=105
Width=300
Color=16777215
AlphaBlendValue=125
BorderStyle=0
ClientSize=0
Point(doLeft)
Point(doTop)
Point(doWidth)
Point(doHeight)
Point(doAlphaBlendValue)
}
Add(PointXY,26249,224,161)
{
link(X,14040495:MouseX,[])
link(Y,14040495:MouseY,[])
}
Add(Hub,35425,392,187)
{
InCount=2
link(onEvent1,62527:doDraw,[(438,193)(438,285)])
link(onEvent2,16737198:doWork3,[(430,200)])
}
Add(DoData,83944,444,105)
{
link(onEventData,9863152:doValue,[])
link(Data,10491606:Var1,[(450,93)(489,93)])
}
Add(HubEx,16737198,426,105)
{
link(onEvent,83944:doData,[])
}
Add(Img_Line,62527,490,279)
{
Size=3
Point(Point1)
Point(Point2)
Point(Size)
Point(Color)
link(onDraw,9500638:In,[])
link(Bitmap,3883585:Var3,[(496,263)])
link(Point1,10491606:Var3,[(503,252)])
link(Point2,9863152:Var,[])
link(Size,5796407:Var,[(517,255)(524,255)])
link(Color,8114132:Var,[(524,269)(538,269)])
}
Add(LineBreak,13147470,168,98)
{
link(Out,14040495:doRefresh,[])
Primary=[9500638,371,181]
}
Add(GetDataEx,3883585,243,258)
{
Angle=3
link(Data,14040495:Bitmap,[(223,263)])
}
Add(PaintBox,14040495,217,98)
{
Width=3200
Height=3200
Color=16777215
Cursor=7
Point(MouseX)
Point(MouseY)
Point(onMouseDown)
Point(onMouseMove)
Point(doWidth)
Point(doHeight)
link(onMouseDown,16737198:doWork2,[])
link(onMouseMove,15885613:doEvent1,[(261,118)(261,132)])
}
Add(Hub,12512189,49,105)
{
link(onEvent1,12968610:doWidth,[(84,111)(84,83)])
link(onEvent2,14040495:doWidth,[])
}
Add(Hub,13729604,56,84)
{
link(onEvent1,12968610:doHeight,[])
link(onEvent2,14040495:doHeight,[(79,97)(79,125)])
}
Add(GetDataEx,10491606,483,247)
{
Angle=3
link(Data,26249:Point,[(230,252)])
}
Add(GlobalVar,9863152,504,105)
{
Name="y"
}
Add(If_else,8196121,304,126)
{
Op2=Integer(0)
link(onTrue,12671476:doEvent1,[(344,132)(344,151)])
}
Add(Hub,15885613,273,126)
{
link(onEvent1,8196121:doCompare,[])
link(onEvent2,13346145:doCompare,[(294,139)(294,216)])
}
Add(If_else,13346145,304,210)
{
Op2=Integer(1)
link(onTrue,11312345:doEvent1,[])
}
Add(Hub,11312345,347,210)
{
link(onEvent1,641360:doData,[])
link(onEvent2,35425:doEvent2,[(371,223)(371,200)])
}
Add(GlobalVar,15913589,424,210)
{
Name="c"
}
Add(GlobalVar,8114132,532,244)
{
Name="c"
}
Add(DoData,641360,382,210)
{
Data=Integer(16777215)
link(onEventData,15913589:doValue,[])
}
Add(Hub,12671476,353,145)
{
link(onEvent1,6184773:doData,[])
link(onEvent2,35425:doEvent1,[(374,158)(374,193)])
}
Add(GlobalVar,946985,444,145)
{
Name="c"
}
Add(DoData,6184773,381,145)
{
Data=Integer(0)
link(onEventData,946985:doValue,[])
}
Add(GlobalVar,5796407,518,216)
{
Name="t"
Data=Integer(1)
}
END_SDK
Add(Hub,9986713,140,175)
{
link(onEvent1,7706739:doWork1,[])
link(onEvent2,15569437:onEvent22,[(276,188)(276,81)])
}
Add(Hub,7690605,63,210)
{
link(onEvent1,7706739:doWork2,[(276,216)(276,188)])
link(onEvent2,3791803:doOperation,[])
}
Add(Math,3791803,91,217)
{
OpType=1
Op2=25
link(onResult,15569437:onEvent23,[(236,223)(236,88)])
}
END_SDK
Add(Image,13064739,518,63)
{
Left=10
Top=55
Width=200
Height=200
Point(ImageWidth)
Point(ImageHeight)
Point(onShow)
Point(doWidth)
Point(doHeight)
Point(doLeft)
Point(doTop)
}
Add(ChildForm,3043239,420,77)
{
}
BEGIN_SDK
Add(EditMulti,6567029,21,21)
{
WorkCount=1
Width=279
Height=144
link(doWork1,5041117:doVisible,[(31,27)(31,76)])
}
Add(MainForm,5041117,42,42)
{
Left=35
Top=105
Width=158
Height=176
Visible=1
Caption="zoom"
BorderStyle=5
Position=1
Point(doVisible)
Point(Handle)
link(onCreate,11236013:doPopup,[(86,62)(86,94)(30,94)(30,125)])
}
Add(MultiElement,13283573,98,42)
{
link(onEvent1,11729588:doLoad,[])
}
BEGIN_SDK
Add(EditMulti,11045558,10,10)
{
EventCount=1
Width=370
Height=319
VOffset=270
}
Add(Img_Copy,912122,175,280)
{
Width=150
Height=150
DrawSource=1
Point(Width)
Point(Height)
link(onCopy,11045558:onEvent1,[])
link(Source,14606068:Value,[(181,264)(118,264)])
link(X,2139677:Result,[])
link(Y,1691335:Result,[(195,231)(223,231)])
link(Width,7121222:Result,[(202,243)(265,243)])
link(Height,14045119:Result,[(209,254)(321,254)])
}
Add(Memory,14606068,112,77)
{
Default=Integer(0)
}
Add(MouseEvent,9054516,182,21)
{
}
Add(MathParse,2139677,182,126)
{
MathStr="%1-75/9"
ResultType=0
link(X1,9054516:MouseX,[])
}
Add(Hub,2088047,70,126)
{
OutCount=5
link(onEvent1,2139677:doCalc,[])
link(onEvent2,1691335:doCalc,[(164,139)(164,174)])
link(onEvent3,7121222:doOperation,[(148,146)(148,209)])
link(onEvent4,14045119:doOperation,[(140,153)(140,223)])
link(onEvent5,912122:doCopy,[(131,160)(131,286)])
}
Add(Timer,3004157,28,126)
{
Interval=10
link(onTimer,2088047:doEvent1,[])
}
Add(MathParse,1691335,217,168)
{
MathStr="%1-75/ 9"
ResultType=0
link(X1,9054516:MouseY,[(223,76)(195,76)])
}
Add(Math,7121222,259,203)
{
OpType=3
Op1=150
Op2=9
}
Add(Math,14045119,315,217)
{
OpType=3
Op1=150
Op2=9
}
END_SDK
Add(Image,11729588,147,42)
{
Width=150
Height=150
}
Add(Image,5179178,245,42)
{
Top=75
Width=150
Height=1
Color=16711935
}
Add(Image,8099661,203,42)
{
Left=75
Width=1
Height=150
Color=16711935
}
Add(WinTools,11236013,42,112)
{
link(Handle,5041117:Handle,[])
}
END_SDK
карма: 19

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#10: 2011-10-07 16:21:29 ЛС | профиль | цитата
Леонид писал(а):
готовая схема выкладывалась, поищите по имени "Калька"

Я вот тоже так подумал -- зачем рисовать сквозь, когда можно рисовать поверх
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#11: 2011-10-07 16:24:59 ЛС | профиль | цитата
Леонид, схемка может быть и хорошая, но... прокрутить с нажатой мышкой 17 экранов терпения нехватило.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26303
Рейтинг: 2146
#12: 2011-10-07 16:28:49 ЛС | профиль | цитата
Tad писал(а):
но... прокрутить с нажатой мышкой 17 экранов терпения нехватило

Ну вот без прокрутки -- kalka_001.sha
карма: 22

0
файлы: 1kalka_001.sha [15.3KB] [289]
Ответов: 1536
Рейтинг: 176
#13: 2011-10-07 17:09:05 ЛС | профиль | цитата
31.23.73.138, посмотри вот здесь
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
13
Сообщение
...
Прикрепленные файлы
(файлы не залиты)