Microsoft PixelSense # 0 рд╡рд┐рдХрд╛рд╕

рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде, рдореИрдВ Microsoft PixelSense рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЪрдХреНрд░ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рдХреБрдЫ рд▓рд┐рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдореБрдЭреЗ рдХрд╣реАрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рддреЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ PixelSense рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдБ рдкрдврд╝рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдирд╛ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реИред рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗред


PixelSense рдХреНрдпрд╛ рд╣реИ?
PixelSense Microsoft рдХреА 42 рдЗрдВрдЪ рдХреА рдЯрдЪрд╕реНрдХреНрд░реАрди рдЯреЗрдмрд▓ рд╣реИ рдЬреЛ 42 рдЯрдЪ рдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рдкрд╣рдЪрд╛рдирддреА рд╣реИ, рд╕рд╛рде рд╣реА рджреВрд╕рд░реЗ рд╡рд░реНрдЬрди рдореЗрдВ 256 рд╕реНрдкреЗрд╢рд▓ рдЯреИрдЧреНрд╕ рд╣реИрдВ, рдЬреЛ рд╕рдВрд╡рд░реНрдзрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╕реНрдкрд░реНрд╢ рдФрд░ рдирд┐рд╢рд╛рди рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрд╡рд░рдХреНрдд рдХреИрдорд░рд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╕реНрдХреНрд░реАрди рдХреЛ рдЧреЛрд░рд┐рд▓реНрд▓рд╛ рдЧреНрд▓рд╛рд╕ рджреНрд╡рд╛рд░рд╛ рдмрд╛рд╣рд░реА рдкреНрд░рднрд╛рд╡реЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдПрдПрдордбреА рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдПрдХ рд╣реА рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╣реИ, рд╕рдм рдХреБрдЫ рдПрдВрдмреЗрдбреЗрдб рд╡рд┐рдВрдбреЛрдЬ 7 рдкреНрд░реЛрдлреЗрд╢рдирд▓ 64-рдмрд┐рдЯ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрдк 2 рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдиреАрдЪреЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ: XNA рдФрд░ WPFред рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010 рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рд░рдлреЗрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдирд╛рдо рдХрдИ рдЬрдЧрд╣реЛрдВ рдкрд░ рдорд┐рд▓реЗрдЧрд╛ред

рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕рд╛рдзрди рдФрд░ рдЕрдзрд┐рдХ
рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЦреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рднреА рд▓рд┐рдВрдХ www.pixelsense.com рдкрд░ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд┐рдВрдХ msdn.microsoft.com/en-US/windows/desktop/hh241326.aspx рд╣реИ - рдпрд╣ PixelSense рдбреЗрд╡рд▓рдкрд░ рдкреЗрдЬ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрд╕рдбреАрдХреЗ рд╕реЗ рд▓рд┐рдВрдХ, рд▓реИрдм рдкрд░ рд╣рд╛рде рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдХреЗрдВрджреНрд░ рд╣реИ =)ред

рдПрд╕рдбреАрдХреЗ
PixelSense SDK рдореЗрдВ VS2010 рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдЙрджрд╛рд╣рд░рдг, рд╢рд╛рдпрдж, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - InputSimulator, рдЬреЛ рдПрдХ рдЯрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рдмрд┐рдирд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ PixelSense рдХреЗ рддрд╣рдд рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдПрдХ рдмрд╛рдд рд╣реИ - рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдПрдХ рдЖрд░рдбреАрдкреА рд╕рддреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред
рдЭреВрда рдХрд╣рд╛рдБ рд╣реИ:
тАв InputSimulator - Microsoft рд╕рд░рдлреЗрд╕ 2.0 SDK-> рдЯреВрд▓реНрд╕-> InputSimulator рдХреЗ рд▓реЙрдиреНрдЪ рдореЗрдВ
тАв рдЙрджрд╛рд╣рд░рдг - Microsoft рд╕рд░рдлреЗрд╕ 2.0 SDK-> рд╕рд░рдлреЗрд╕ рд╕реИрдВрдкрд▓

рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдорд╛рдирдХ рд╕реЗрдЯ
рддрд╛рд▓рд┐рдХрд╛ рдХреА рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦрдХрд░, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдФрд░ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЯреЗрдмрд▓ рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЯрдЪ рд╕реНрдХреНрд░реАрди рдХреЗ рдмрд┐рдирд╛ рднреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрдк, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрдкрдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрд╕рдбреАрдХреЗ рдкрд╣рд▓реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛ред рдбреЗрд╡рд▓рдкрд░реНрд╕? рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЬрд╡рд╛рдм рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдирдореВрдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреНрд╡рд╛рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде InstallSamples.bat рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдХрд░ рдЙрджрд╛рд╣рд░рдг рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░реЗрдЧрд╛ред рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдВрдХрд▓рд┐рдд WPF / ControlsBox рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреА рдирд┐рдпрдВрддреНрд░рдг рд╣реИрдВ, рдЖрдк рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдХреЗ рд╕рд╛рде рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЫреВ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреБрдЫ рдмрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЕрдЧрд░ рдЖрдкрдиреЗ рдПрд╕рдбреАрдХреЗ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рдЖрдкрджрд╛ рд╣реЛрдЧреА рдФрд░ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдКрдкрд░ рдЖрдк рд╢рд┐рд▓рд╛рд▓реЗрдЦ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╕реНрдкрд░реНрд╢ рдЗрдирдкреБрдЯ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдмрд╛рдИрдВ рддрд░рдл - рдЦрд┐рдбрд╝рдХреА рдЦреБрдж, рдЬрд┐рд╕ рдкрд░ рдЖрдк рд╡рд░реНрддрдорд╛рди рдЗрдирдкреБрдЯ рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкрд╣рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдпрджрд┐ рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рдЕрднреА рднреА рдкреВрд░реЗ рдЬреЛрд╢ рдореЗрдВ рд╣реИ, рддреЛ VS2010 рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реА # рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЖрдЗрдЯрдо "рд╕рд░рдлреЗрд╕" рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдБ рдЖрдк "рд╕рд░реНрдлреЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл)" рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЦреБрдж рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВ!
рдФрд░ рд╣рдо рдкрд╣рд▓реА рд╡рд┐рдВрдбреЛ рдХрд╛ XAML рдХреЛрдб рджреЗрдЦрддреЗ рд╣реИрдВ
<s:SurfaceWindow x:Class="HabrPixelSenseTestApp.SurfaceWindow1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="http://schemas.microsoft.com/surface/2008" Title="HabrPixelSenseTestApp" > <Grid> </Grid> </s:SurfaceWindow> 

рдПрдХ рд╕рд╛рдзрд╛рд░рдг WPF рд╡рд┐рдВрдбреЛ рд╕реЗ рдореБрдЦреНрдп рдЕрдВрддрд░ - рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдм рд╕рд░реНрдлреЗрд╕рд╡рд┐рдВрдбреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ s рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА PixelSense рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд┐рдд рд╣реИрдВред

рдПрдХ рдЫреЛрдЯреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрдЯрди рдЬреЛрдбрд╝реЗрдВ
 <s:SurfaceButton HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" TextBlock.FontSize="50" Margin="50" Content="HabraButton"/> 

рдФрд░ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ


рдЖрдЧреЗ, рд╣рдо рдЗрд╕ рддрдХрдиреАрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬреНрдЮрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, WPF рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡рд╣ рд╕рдм рд╣реИ! рдиреНрдпреВрдирддрдо рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрд╕рд╛рди рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд▓реЗрдЦ рдмрд╣реБрдд рд╕рд░рд▓ рдирд┐рдХрд▓рд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

Source: https://habr.com/ru/post/In151021/


All Articles