Я использовал это:
Dim i1 As Bitmap = owall.Clone
Dim i2 As New Bitmap(ChangingWP)
Dim g As Graphics = Graphics.FromImage(i1)
Dim cm As 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, current_alpha, 0}, _
New Single() {0, 0, 0, 0, 1}})
Dim ia As New Imaging.ImageAttributes
ia.SetColorMatrix(cm, Imaging.ColorMatrixFlag.Default, Imaging.ColorAdjustType.Bitmap)
g.DrawImage(i2, New Rectangle(0, 0, i2.Width, i2.Height), 0, 0, i2.Width, i2.Height, GraphicsUnit.Pixel, ia)
g.Dispose()
If increase Then
current_alpha += Speed
Else
current_alpha -= Speed
End If
SetWallpaper(i1, Layout)
If current_alpha >= 1 Then
current_alpha = 1
tmrBlend.Enabled = False
SetWallpaper(ChangingWP, Layout)
ElseIf current_alpha <= 0 Then
current_alpha = 0
tmrBlend.Enabled = False
End If
Но это не быстро. У вас есть идеи?
На самом деле, я пытаюсь изменить обои с эффектом исчезновения.