Private Sub butHalfTrans_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butHalfTrans.Click
'Получение полупрозрачной картинки
Dim img As Image = PictureBox1.Image
Dim copy As Bitmap = New Bitmap(img.Width, img.Height)
Dim ia As ImageAttributes = New ImageAttributes
' Алгоритм получения полупрозрачности
Dim cm As ColorMatrix = New ColorMatrix(New Single()() _
{New Single() {1, 0, 0, 0, 0}, _
New Single() {0, 1, 0, 0, 0}, _
New Single() {0, 0, 1, 0, 0}, _
New Single() {0, 0, 0, 0.5, 0}, _
New Single() {0, 0, 0, 0, 1}})
ia.SetColorMatrix(cm)
Dim g As Graphics
g = Graphics.FromImage(copy)
g.DrawImage(img, _
New Rectangle(0, 0, img.Width, img.Height), 0, 0, _
img.Width, img.Height, GraphicsUnit.Pixel, ia)
PictureBox1.Image = copy
g.Dispose()
img.Dispose()
End Sub
Public Class Form1
Dim proz As String = 0.4
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim img As Image = PictureBox1.Image
Dim copy As Bitmap = New Bitmap(img.Width, img.Height)
Dim ia As Imaging.ImageAttributes = New Imaging.ImageAttributes
' Алгоритм получения полупрозрачности
Dim cm As Imaging.ColorMatrix = New Imaging.ColorMatrix(New Single()() _
{New Single() {1, 0, 0, 0, 0}, _
New Single() {0, 1, 0, 0, 0}, _
New Single() {0, 0, 1, 0, 0}, _
New Single() {0, 0, 0, 0.4, 0}, _
New Single() {0, 0, 0, 0, 1}})
ia.SetColorMatrix(cm)
Dim g As Graphics
g = Graphics.FromImage(copy)
g.DrawImage(img, _
New Rectangle(0, 0, img.Width, img.Height), 0, 0, _
img.Width, img.Height, GraphicsUnit.Pixel, ia)
PictureBox1.Image = copy
g.Dispose()
img.Dispose()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If proz = 0.9 Then
Timer1.Enabled = False
End If
proz = proz + 0.1
Dim img As Image = PictureBox1.Image
Dim copy As Bitmap = New Bitmap(img.Width, img.Height)
Dim ia As Imaging.ImageAttributes = New Imaging.ImageAttributes
' Алгоритм получения полупрозрачности
Dim cm As Imaging.ColorMatrix = New Imaging.ColorMatrix(New Single()() _
{New Single() {1, 0, 0, 0, 0}, _
New Single() {0, 1, 0, 0, 0}, _
New Single() {0, 0, 1, 0, 0}, _
New Single() {0, 0, 0, proz, 0}, _
New Single() {0, 0, 0, 0, 1}})
ia.SetColorMatrix(cm)
Dim g As Graphics
g = Graphics.FromImage(copy)
g.DrawImage(img, _
New Rectangle(0, 0, img.Width, img.Height), 0, 0, _
img.Width, img.Height, GraphicsUnit.Pixel, ia)
PictureBox1.Image = copy
g.Dispose()
img.Dispose()
End Sub
Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
End Sub
Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
Timer1.Enabled = True
End Sub
End Class
Enum enumMode As Integer
toTransparent = 1
toOpaque = 2
End Enum
Dim Mode As enumMode = enumMode.toTransparent
Dim proz As Single = 1.0!
Dim OriginalImage As Image = My.Resources.button_search_active
Dim ia As Imaging.ImageAttributes = New Imaging.ImageAttributes
Dim cm As Imaging.ColorMatrix = New Imaging.ColorMatrix(New Single()() _
{New Single() {1, 0, 0, 0, 0}, _
New Single() {0, 1, 0, 0, 0}, _
New Single() {0, 0, 1, 0, 0}, _
New Single() {0, 0, 0, 1, 0}, _
New Single() {0, 0, 0, 0, 1}})
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = OriginalImage.Clone()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Select Case Mode
Case enumMode.toTransparent
proz -= 0.1!
If proz < 0.5! Then
Timer1.Enabled = False
End If
Case enumMode.toOpaque
PictureBox1.Image = OriginalImage.Clone
proz += 0.1!
If proz >= 1.0! Then
Timer1.Enabled = False
proz = 1.0!
End If
End Select
cm.Matrix33 = proz
ia.SetColorMatrix(cm)
With PictureBox1
Dim g As Graphics = Graphics.FromImage(.Image)
g.Clear(PictureBox1.BackColor)
g.DrawImage(OriginalImage, _
.ClientRectangle, 0, 0, _
.Image.Width, .Image.Height, GraphicsUnit.Pixel, ia)
g.Dispose()
End With
PictureBox1.Refresh()
End Sub
Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
Mode = enumMode.toTransparent
Timer1.Enabled = True
End Sub
Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
Mode = enumMode.toOpaque
Timer1.Enabled = True
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Opacity = 1
formProz.Enabled = True
End Sub
Private Sub formProz_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles formProz.Tick
If formp = 100 Then
formProz.Enabled = False
End If
formp = formp + 10
Me.Opacity = formp
End Sub
Dim formp As Single = 0.0!
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
formp = formp + 0.1!
If formp >= 1.0! Then
formp = 1.0!
Timer1.Enabled = False
End If
Me.Opacity = formp
End Sub
Private Sub Form1_HandleCreated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.HandleCreated
Me.Opacity = formp
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Opacity = Me.Opacity + 0.1
If Me.Opacity = 1 Then Timer1.Enabled = False
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Opacity = 0
Timer1.Enabled = True
End Sub
так это ж обыкновенный tooltip! открывай справку и читай!asharky писал(а):А как под кнопку пояснительную надпись запихать? Нечто вроде тэга alt в html ? Чтобы когда мышь наводишь, то надпись возникала.
Всё как всегда, в общемcosmo_vk писал(а):так это ж обыкновенный tooltip! открывай справку и читай!asharky писал(а):А как под кнопку пояснительную надпись запихать? Нечто вроде тэга alt в html ? Чтобы когда мышь наводишь, то надпись возникала.
а зачем код?asharky писал(а):Всё как всегда, в общемcosmo_vk писал(а):так это ж обыкновенный tooltip! открывай справку и читай!asharky писал(а):А как под кнопку пояснительную надпись запихать? Нечто вроде тэга alt в html ? Чтобы когда мышь наводишь, то надпись возникала.
Пример кода можно попросить?
Спасибо!cosmo_vk писал(а):а зачем код?
кидаем tooltip на форму. Устанавливаем ему свойства, типо как выводить(фон, длительность, заголовок и т.д. и т.п.). У всех элементов в свойствах появляется "ToolTip on ToolTip1" и пишем туда свой текст. Все очень просто.
Если же надо, чтоб у элементов разный текст был при каких-то событиях, то это уже код.
да не за что!asharky писал(а):Спасибо!cosmo_vk писал(а):а зачем код?
кидаем tooltip на форму. Устанавливаем ему свойства, типо как выводить(фон, длительность, заголовок и т.д. и т.п.). У всех элементов в свойствах появляется "ToolTip on ToolTip1" и пишем туда свой текст. Все очень просто.
Если же надо, чтоб у элементов разный текст был при каких-то событиях, то это уже код.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89