рдкреНрд░рддреАрдХ: рд░реЗрдЦрд╛рдкреБрдВрдЬ рдмрдирд╛рдо рд╡реЗрдХреНрдЯрд░

рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрдЯрди, рд╕реНрдЯреЗрдЯрд╕, рдЯреВрд▓рдмрд╛рд░, рдореЗрдиреВ рдФрд░ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рдЖрдЗрдХрди рд╣реИрдВред рдмреЗрд╢рдХ, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЯреАрдо рдореЗрдВ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╡реНрдпрдХреНрддрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдЗрдХрди рдореЗрдВ рдорд╛рд╣рд┐рд░ рд╣реЛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдиреЗ рдХреА рд╕рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реЛред
рд▓реЗрдХрд┐рди рдЬреАрд╡рди рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЯреАрдореЛрдВ рдореЗрдВ рдРрд╕реЗ рд▓реЛрдЧ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ (рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдЪреНрдЫреЗ "рдЖрдЗрдХрди рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ" рдХреЛ рдвреВрдВрдврдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ)ред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЬрдирддрд╛ рдХреЗ рд╕рд╛рде WPF рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдФрд░ рд╢рд╛рдпрдж, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрдж рд╕реЗ рдХреБрдЫ рдирдпрд╛ рд╕реАрдЦреВрдВред


рд░реЗрдЦрд╛рдкреБрдВрдЬ


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ: рд╣рдо рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рдкреАрдПрдирдЬреА рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рд╢рд╛рдВрддрд┐ рд╕реЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдерд╛ - рдпрд╣ рдЕрдЪрд╛рдирдХ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реА рддрд╕реНрд╡реАрд░ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рд░ рдХреЛрдИ рдЬрд┐рд╕рдиреЗ рдХрднреА рдПрдХ рдкреНрдпрд╛рд░реЗ рдлреЛрдЯреЛ рдореЙрдбрд▓ рдХреЗ рдЪреЗрд╣рд░реЗ рдкрд░ рдкрд┐рдВрдкрд▓реНрд╕ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдПрдХ рдЫреЛрдЯреА рд╕реА рддрд╕реНрд╡реАрд░ рдХреЛ рдмрдбрд╝рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ "рд╕реНрдХреНрд╡рд╛рдпрд░" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдЧрд░ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрд╡реЗрджрди рдПрдХ рдкреБрд░рд╛рдиреЗ рдЖрда-рдмрд┐рдЯ рдЧреЗрдо рдХреА рддрд░рд╣ рджрд┐рдЦреЗ, рддреЛ рдПрдХ рдЫреЛрдЯреА рдЫрд╡рд┐ рдХреЛ рдмрдврд╝рд╛рдирд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рдереЛрдбрд╝рд╛ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ: тАЬрдпреВрд░реЗрдХрд╛! рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдк рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред " рдФрд░ рдЕрдкрдиреА рдЖрд╕реНрддреАрди рдХреЛ рдКрдкрд░ рдЙрдард╛рддреЗ рд╣реБрдП, рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рдЖрдЗрдХрди рдХреЛ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЖрдХрд╛рд░ (рдЖрдорддреМрд░ рдкрд░ 64x64) рдкрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ, рднреМрддрд┐рдХреА рд╣рдорд╛рд░реЗ рдЦрд┐рд▓рд╛рдл рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореЙрдирд┐рдЯрд░ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ (рд╢рд╛рдпрдж рд╕рдордЭреМрддреЗ рд╕реЗ) рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд╕рд╛рде рдореЙрдирд┐рдЯрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпреЗ рдкрд┐рдХреНрд╕реЗрд▓ рднреА рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рд╣реИрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо 64x64 рдХреА рдЫрд╡рд┐ рдХреЛ 32x32 рддрдХ рдХрдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдореВрд▓ рдЫрд╡рд┐ рдореЗрдВ 2 рдмрд╛рдп 2 рд╡рд░реНрдЧ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЖрдк рдЗрд╕реЗ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдПрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП (рдмрд╣реБрдд рд╣реА рдореЛрдЯрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде, рд╕реВрдЪрдирд╛ рд╣рд╛рдирд┐ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИред рдирддреАрдЬрддрди, рдЫрд╡рд┐ рдпрд╛ рддреЛ "рдзреБрдВрдзрд▓рд╛" рд╣реИ рдпрд╛ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдЗрд╕рдореЗрдВ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдП рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рдЫрд╡рд┐ рдЬреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рд┐рдХреБрдбрд╝рддреА рд╣реИ рд╡рд╣ рдПрдХрд▓-рд░рдВрдЧ 64x64 рд╡рд░реНрдЧ рд╣реИред

рдХреНрдпрд╛ рдХрд░реЗрдВ? рдкреНрд░рддреНрдпреЗрдХ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд┐рд╣реНрди рдмрдирд╛рдПрдВред рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВред рдПрдХ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдиреЛрдЯрдкреИрдб (Win7) рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдФрд░ рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЖрдЗрдХрди рдФрд░ рд╡рд┐рдВрдбреЛ рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдЖрдЗрдХрди рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдЖрдЗрдХрди рддреИрдпрд╛рд░ рдХрд┐рдП рд╣реИрдВ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╢рд╛рдВрддрд┐ рд╕реЗ рд╕реЛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдирд╣реАрдВред рдзреНрдпрд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдФрд░ рдмрд┐рдВрджреБ рд╣реИрдВ:
  1. рдПрдиреАрдореЗрд╢рдиред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдорд╛рдЙрд╕ рдХреЛ рдШреБрдорд╛рддреЗ рд╣реИрдВ, рддреЛ рдЪрд┐рддреНрд░ 1.5 рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИред
  2. рдЧреИрд░-рдорд╛рдирдХ рдбреАрдкреАрдЖрдИ рдореЙрдирд┐рдЯрд░ рдХрд░рддрд╛ рд╣реИред рдзреАрд░реЗ-рдзреАрд░реЗ (рдареАрдХ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореЗрд░рд╛ рдореЙрдирд┐рдЯрд░ 24 "рдФрд░ 300DPI рд╣реИ;) рд╡реЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрддрд░ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдиреЗрдЯрдмреБрдХ рдкрд░ред

рдХрд╛рд╢, рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрд░рд╛рдо рдХрд░рдиреЗ рдФрд░ рд╣рд░ рдЪреАрдЬ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдордЬрд╛ рд▓реЗрддрд╛ рд╣реИред

рд╡реЗрдХреНрдЯрд░


рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ WPF рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ рдореБрдЭреЗ Xaml рдореЗрдВ рдмрдЯрди рдХреЗ рд▓рд┐рдП рдЖрдЗрдХрди рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЦреБрд╢реА рд╣реБрдИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдБ рдпрд╣ (рдУрд╣, рдХрд┐ рд▓рд╛рдирдд рднреМрддрд┐рдХреА) рдерд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рднрд▓реЗ рд╣реА рдЪрд┐рддреНрд░ рд╡реЗрдХреНрдЯрд░ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдХ рд░реЗрдЦрд╛рдкреБрдВрдЬ рд╕реНрдХреНрд░реАрди (рд░реЗрдЦрд╛рдВрдХрди) рдкрд░ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╡реЗрдХреНрдЯрд░ рдЖрдЗрдХрди рдХреЛ рдЙрдиреНрд╣реАрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЗрдХрди рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдЕрдХреНрд╕рд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЧреБрдгрд╡рддреНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ рдЬрдм SnapsToDevicePixels рдХреЛ рд╕рд╣реА рдФрд░ рдЫрд╡рд┐ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд░рдХреЗред

рджреВрд╕рд░реЗ, рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреА рддрд╕реНрд╡реАрд░ рдореЗрдВ рдХрдИ рджрд╕рд┐рдпреЛрдВ рддрддреНрд╡ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╛рди рдЖрдХрд╛рд░ рдХреА рдмрд┐рдЯрдореИрдк рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, WPF рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП RenderOptions.CachingHint рд╕реЗрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХреА рд╣реИ рдФрд░ рдмрдирд╛рдИ рд╣реИред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рд╣рдо WPF рдХреЛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдЪрд┐рддреНрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдПрдХ рдмрд┐рдЯрдореИрдк рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕ рдмрд┐рдЯрдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ RenderOptions рдФрд░ BitmapCacheBrush рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

рдкреГрд╖реНрдарднреВрдорд┐


рдЕрдВрдд рдореЗрдВ, рдХрдкреНрддрд╛рди рд╕реЗ рдХреБрдЫ рд╢рдмреНрдж-рдЖрдк-рдХреМрди-рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдЖрдЗрдХрди рдПрдХ рдкрд╛рд░рджрд░реНрд╢реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд╕рд╛рде рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЛ рдЙрд╕ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХрд╛ рдЖрдЗрдХрди рдЕрдВрддрддрдГ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдЗрдХрди рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ - рд╕рд╛рдорд╛рдиреНрдп, рд╣реЛрд╡рд░реЗрдб, рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рд╣реБрдЖ, рдЪрдпрдирд┐рддред

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


All Articles