0
私はこれを使用:フェード効果のある画像を速く変更するには?
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
をしかし、それはあなたが任意のアイデアを持ってfast.Doないのですか? 実際には、フェード効果で壁紙を変更しようとしています。
の不透明度を変更するコントロールはありません。質問によると、このコードはwinform-controlの画像ではなく、デスクトップの壁紙を変更しているという。 – Stefan