рдЕрдирд┐рдпрдорд┐рдд рдЖрдХрд╛рд░ рдХреА рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ

рд╢реБрд░реБрдЖрдд


рдХрднреА-рдХрднреА рдПрдХ "рдЕрдирд┐рдпрдорд┐рдд" (рдЖрдпрддрд╛рдХрд╛рд░ рдирд╣реАрдВ) рдЖрдХрд╛рд░ рдХреА рдЦрд┐рдбрд╝рдХреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдХ рд╕реНрдкреНрд▓реИрд╢ рд╕реНрдХреНрд░реАрди рд╣реЛ рдпрд╛ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рдЬреЗрдЯред

рдЫрд╡рд┐


рд╡рд┐рдВрдбреЛрдЬ рдПрдкреАрдЖрдИ рдХреЗ рдХрдИ рдХрд╛рд░реНрдп рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЖрдк "рдЧрд▓рдд" рд╡рд┐рдВрдбреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ: CreateEllipticRgn , CreateRectRgn , CreatePolygonRgn , CreateRoundRectRgn , CombineRgn , рдЖрджрд┐, рд▓реЗрдХрд┐рди рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдХрдИ рдХрдорд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рдВрдбреЛ рдХреЛрдгреАрдп, рддрд┐рд░рдЫреА рдзрд╛рд░ рд╡рд╛рд▓реА рд╣реЛрддреА рд╣реИрдВред рдЕрдкреНрд░рд┐рдп рд▓реМрдВрдЧ, рдПрдХ рдкреВрд░реНрдг рдЫрд╛рдпрд╛ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдФрд░ рдЬрдЯрд┐рд▓ рдЖрдХрд╛рд░ рдХреА рдПрдХ рдЦрд┐рдбрд╝рдХреА рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдирд╛ рдХрднреА-рдХрднреА рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╡рд┐рдВрдбреЛрдЬ 2000 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд WS_EX_LAYERED рд╢реИрд▓реА рдереА, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕реНрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛, рдФрд░ рдРрд╕реА рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ API рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗ рдЧрдП рдереЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ UpdateLayeredWindow рдПрдХ рд╕реНрддрд░рд┐рдд рд╡рд┐рдВрдбреЛ рдХреА рд╕реНрдерд┐рддрд┐, рдЖрдХрд╛рд░, рд╕рд╛рдордЧреНрд░реА рдФрд░ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП PNG рд╕рд╣рд┐рдд рдЫрд╡рд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреВрд░реНрд╡-рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╡рд┐рдВрдбреЛ рдЖрдХрд╛рд░ рдмрдирд╛рдирд╛ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ рдЗрд╕рдХреА рдЦрд╛рдореА рднреА рд╣реИред рдПрдХ рдмрд╣реБрдкрд░рдд рдЦрд┐рдбрд╝рдХреА рдкрд░ рдХрд┐рд╕реА рднреА рдШрдЯрдХ, рдЬреИрд╕реЗ рдмрдЯрди, рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб, рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдХрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдорд╛рдирдХ WM_PAINT рд╕рдВрджреЗрд╢ рдЕрдм рдЦрд┐рдбрд╝рдХреА рдкрд░ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдХреНрд░реАрдирд╕реЗрд╡рд░, рд╡рд┐рдЧреЗрдЯреНрд╕ рдФрд░ рдЕрдиреНрдп рд╕рдЬрд╛рд╡рдЯ рдХреЛ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдХреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдиреНрдпреВрдирддрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдкрдиреА рдЖрдВрдЦреЛрдВ рдХреЛ рдЕрднрд╛рд╡ рдореЗрдВ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рдмрд╣реБрдкрд░рдд рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЪреВрдВрдХрд┐ рдпрд╣ рд╕рднреА рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХрд╛рдо рдкрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ VB.NET рдореЗрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ред рдореИрдВ рдПрдкреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдПрдордПрд╕рдбреАрдПрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдВрдХ рдиреАрдЪреЗ рдмреЗрд╣рддрд░ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрдирдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИред

  1. рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдбрд┐рдЯрд░ рдореЗрдВ рд╣рдорд╛рд░реА рднрд╡рд┐рд╖реНрдп рдХреА рдЦрд┐рдбрд╝рдХреА рдЦреАрдВрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдореИрдВрдиреЗ рдлрд╝реЛрдЯреЛрд╢реЙрдк рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛, рд╣рдореЗрд╢рд╛ рдЕрдирд┐рдпрдорд┐рдд рдЖрдХрд╛рд░ рдХрд╛ рдФрд░ рд╣рдореЗрд╢рд╛ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ рд╕рд╛рде, рдмрд╣реБрдкрд░рдд рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд╕рднреА рдЖрдХрд░реНрд╖рдг рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЗрд╕реЗ рдкреАрдПрдирдЬреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рдРрд╕рд╛ рд╕реНрдЯрд┐рдХрд░ рдорд┐рд▓рд╛:
    рдЫрд╡рд┐
  2. рдЕрдЧрд▓рд╛, рд╣рдо рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ "рд╕реНрдЯрд┐рдХрд░" рдирд╛рдо рдХреЗ рддрд╣рдд рд╣рдорд╛рд░реА рдЫрд╡рд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрди рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдлреЙрд░реНрдо рд╕реЗ рд╕рднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рдФрд░ рдмреЙрд░реНрдбрд░реНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред
  3. рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВрдЧреЗред рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред
     Namespace System Public Class Win32API Public Const WS_EX_LAYERED = &H80000 Public Const ULW_ALPHA As Int32 = &H2 Public Const AC_SRC_OVER As Byte = &H0 Public Const AC_SRC_ALPHA As Byte = &H1 ' ()' <StructLayout(LayoutKind.Sequential)> _ Public Structure Point Public x As Int32 Public y As Int32 Public Sub New(ByVal x As Int32, ByVal y As Int32) Me.x = x Me.y = y End Sub End Structure '' <StructLayout(LayoutKind.Sequential)> _ Public Structure Size Public cx As Int32 Public cy As Int32 Public Sub New(ByVal cx As Int32, ByVal cy As Int32) Me.cx = cx Me.cy = cy End Sub End Structure '     ' <StructLayout(LayoutKind.Sequential, Pack:=1)> _ Public Structure BLENDFUNCTION Public BlendOp As Byte Public BlendFlags As Byte Public SourceConstantAlpha As Byte Public AlphaFormat As Byte Public Sub New(ByVal BledOp As Byte, ByVal BlendFlags As Byte, ByVal SourceContrastAlpha As Byte, ByVal AlphaFormat As Byte) Me.BlendOp = BledOp Me.BlendFlags = BlendFlags Me.SourceConstantAlpha = SourceContrastAlpha Me.AlphaFormat = AlphaFormat End Sub End Structure '         ' <DllImport("user32.dll")> _ Public Shared Function GetDC(ByVal hWnd As IntPtr) As IntPtr End Function '     ' <DllImport("gdi32.dll")> _ Public Shared Function CreateCompatibleDC(ByVal hDC As IntPtr) As IntPtr End Function ' ' <DllImport("user32.dll", ExactSpelling:=True)> _ Public Shared Function ReleaseDC(ByVal hWnd As IntPtr, ByVal hDC As IntPtr) As Integer End Function ' ' <DllImport("gdi32.dll")> _ Public Shared Function DeleteDC(ByVal hdc As IntPtr) As Boolean End Function '    ' <DllImport("gdi32.dll", ExactSpelling:=True)> _ Public Shared Function SelectObject(ByVal hDC As IntPtr, ByVal hObject As IntPtr) As IntPtr End Function ' ' <DllImport("gdi32.dll")> _ Public Shared Function DeleteObject(ByVal hObject As IntPtr) As Boolean End Function '  ' <DllImport("user32.dll")> _ Public Shared Function UpdateLayeredWindow(ByVal hwnd As IntPtr, ByVal hdcDst As IntPtr, ByRef pptDst As Win32API.Point, ByRef psize As Win32API.Size, ByVal hdcSrc As IntPtr, ByRef pprSrc As Win32API.Point, ByVal crKey As Int32, ByRef pblend As Win32API.BLENDFUNCTION, ByVal dwFlags As Int32) As Boolean End Function End Class End Namespace 

  4. рдпрд╣ рдФрд░ рдмрд╛рдж рдХреЗ рд╕рднреА рдХреЛрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╣рдорд╛рд░реЗ рдПрдХрдорд╛рддреНрд░ рд░реВрдк рдХреА рдХрдХреНрд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдХрдИ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
      Private _ScreenDC As IntPtr = IntPtr.Zero Private _MemDC As IntPtr = IntPtr.Zero Private _BitmapHandle As IntPtr = IntPtr.Zero Private _OldBitmapHandle As IntPtr = IntPtr.Zero Private _Size As Win32API.Size = Nothing Private _PoinSource As Win32API.Point = Nothing Private _TopPos As Win32API.Point = Nothing Private _Blend As Win32API.BLENDFUNCTION = Nothing Private _Opacity As Byte = 255 Private bmpDest As Bitmap = Nothing Private bmpSrc As Bitmap = Nothing 

  5. рдЦрд┐рдбрд╝рдХреА рдХреЛ рд╕реНрддрд░рд┐рдд рдмрдирд╛рдПрдВред .NET рдореЗрдВ, рдЖрдк CreateParams рд╡рд░реНрдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдХреЗ (CreateWindowEx API рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ) рдмрдирд╛рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдПрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХреБрдЫ рдЧреБрдг рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
      Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams Get Dim CP As CreateParams = MyBase.CreateParams CP.ExStyle = CP.ExStyle Or Win32API.WS_EX_LAYERED Return CP End Get End Property 

  6. рдЫрд╡рд┐ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреА рдбрд┐рдЧреНрд░реА (0 рд╕реЗ 255 рддрдХ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдмрд╣реБрдкрд░рдд рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ред
      Public Sub SetImage(ByRef Bitmap As Bitmap, ByVal Opacity As Byte) '    ' _ScreenDC = Win32API.GetDC(0) '    ' _MemDC = Win32API.CreateCompatibleDC(_ScreenDC) ' ' _BitmapHandle = IntPtr.Zero '  ' _OldBitmapHandle = IntPtr.Zero Try '  ' _BitmapHandle = Bitmap.GetHbitmap(Color.FromArgb(0)) '     ' _OldBitmapHandle = Win32API.SelectObject(_MemDC, _BitmapHandle) '  ,      ' _Size = New Win32API.Size(Bitmap.Width, Bitmap.Height) _PoinSource = New Win32API.Point(0, 0) _TopPos = New Win32API.Point(Me.Left, Me.Top) '  BLENDFUNCTION' _Blend = New Win32API.BLENDFUNCTION(Win32API.AC_SRC_OVER, 0, Opacity, Win32API.AC_SRC_ALPHA) '  ' Win32API.UpdateLayeredWindow(Me.Handle, _ScreenDC, _TopPos, _Size, _MemDC, _PoinSource, 0, _Blend, Win32API.ULW_ALPHA) Finally Win32API.ReleaseDC(IntPtr.Zero, _ScreenDC) If _BitmapHandle <> IntPtr.Zero Then Win32API.SelectObject(_MemDC, _OldBitmapHandle) Win32API.DeleteObject(_BitmapHandle) End If Win32API.DeleteDC(_MemDC) _Size = Nothing _PoinSource = Nothing _TopPos = Nothing _Blend = Nothing End Try End Sub 

  7. рдкреНрд░рдкрддреНрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рддреЗ рд╣реИрдВ (рд╣рдо рд╕реНрдЯрд┐рдХрд░ рдкрд░ рдкрд╛рда рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдмрд╕ рд╕реНрдерд┐рд░) рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВред
      Private Sub FormSticker_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load bmpSrc = My.Resources. bmpDest = New Bitmap(bmpSrc.Width, bmpSrc.Height) Using g As Graphics = Graphics.FromImage(bmpDest) With g .InterpolationMode = Drawing2D.InterpolationMode.NearestNeighbor .SmoothingMode = Drawing2D.SmoothingMode.AntiAlias .TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias ' ' .DrawImage(bmpSrc, 0, 0, bmpSrc.Width, bmpSrc.Height) ' ' Dim sf As New StringFormat(StringFormatFlags.LineLimit) sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center .DrawString("       ", Me.Font, New SolidBrush(Me.ForeColor), New Rectangle(10, 10, bmpDest.Width - 20, bmpDest.Height - 20), sf) End With End Using Me.SetImage(bmpDest, Me._Opacity) bmpDest.Dispose() End Sub 


рдЦреИрд░, рдпрд╣ рд╕рдм рдкрд╕рдВрдж рд╣реИ, рд╣рдо рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ (рдкрд░рд┐рдгрд╛рдо рдкрд╣рд▓реА рдЫрд╡рд┐ рдореЗрдВ рд╣реИ)ред

рд╕рдВрджрд░реНрдн

  1. рдкреНрд░рдпреБрдХреНрдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг
    рдкреЙрдЗрдВрдЯ , рд╕рд╛рдЗрдЬрд╝ , рдЧреЗрдЯреАрдбреАрд╕реА , рд░рд┐рд▓реАрдЬрд╝рдбреАрд╕реА , рдбреАрдЯреАрдбреАрд╕реА , рд╕рд┐рд▓реЗрдХреНрдЯрдСрдмреНрдЬреЗрдХреНрдЯ , рдбрд┐рд▓реАрдЯ рдСрдмрдЬреЗрдХреНрдЯ , рдЕрдкрдбреЗрдЯрд▓рд╛рдЗрдбрд╡рд┐рдВрдбреЛ
  2. рдЙрджрд╛рд╣рд░рдг рд╕реНрд░реЛрдд

рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП ...

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


All Articles