Как я могу сделать свою форму похожей на эффект размытия windows 10 VB.NET
черт возьми, извините за мой плохой английский.
я пытаюсь создать дизайн, в котором он похож на эффект размытия прозрачности в windows 10, а также на уведомление о windows 10.
я использую vb.net и я тоже новичок в программировании ,может кто-нибудь мне помочь?
заранее спасибо
Что я уже пробовал:
я еще ничего не пробовал, потому что понятия не имею, с чего начать.
Dim imagebitmap As Bitmap Dim graphicsvariable As Graphics Sub BlurrMe(frm As Form) Dim b As Bitmap = getscreenshot(WorkArea) 'get the screen shot' BlurBitmap(b) 'blur the screen shot' frm.BackgroundImage = b 'set the picturebox image as b (the blurred image)' End Sub Public Function getscreenshot(frm As Form) imagebitmap = New Bitmap(frm.Size.Width, frm.Size.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb) 'creates a new blank bitmap having size of the form' graphicsvariable = Graphics.FromImage(imagebitmap) 'creates a picture template that enables the graphics variable to draw on' graphicsvariable.CopyFromScreen(0, 0, 0, 0, frm.Size, CopyPixelOperation.SourceCopy) 'copies graphics that is on the screen to the imagebitmap' Return imagebitmap End Function Sub BlurBitmap(ByRef image As Bitmap, Optional ByVal BlurForce As Integer = 2) Dim g As Graphics = Graphics.FromImage(image) 'We get a graphics object from the image' Dim att As New ImageAttributes 'declare an ImageAttributes to use it when drawing' Dim m As New ColorMatrix 'declare a ColorMatrix' m.Matrix33 = 0.4 ' set Matrix33 to 0.5, which represents the opacity. so the drawing will be semi-trasparent. att.SetColorMatrix(m) 'Setting this ColorMatrix to the ImageAttributes.' For x = -1 To BlurForce 'drawing the image on it self, but not in the same coordinates, in a way that every pixel will be drawn on the pixels arround it.' For y = -1 To BlurForce g.DrawImage(image, New Rectangle(x, y, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, att) 'Drawing image on it self using out ImageAttributes to draw it semi-transparent.' Next Next 'disposing ImageAttributes and Graphics. the effect is then applied. ' att.Dispose() : g.Dispose() 'dispose g' End Sub
Ralf Meier
Было бы полезно, если бы у вас был пример, который показывает, что именно вы хотите иметь.
Какой контроль должен получить прозрачность ?
Ralf Meier
Если вы хотите иметь это только для формы, вы можете использовать свойство Opacity из формы ...
Member 12684760
этот код пришел для решения, которое прислал Ральф Мейер.
Я называю свою основную форму workarea .
тогда мое фоновое имя формы было msgback.
на моей базовой загрузке msgback
назовите суб-код как Blurrme (me)
Graeme_Grant
Выложил лучшее решение... :)