我想知道如何去增加一個上下顛倒梯度反射,與此類似:透明漸變反射 - VB.NET?
我會推論第一反射的位圖是顛倒了。然後,在Photoshop中,我會爲圖像添加一個alpha蒙版,並使用黑色/白色漸變的頂部到底部。
如何在VB.NET中添加alpha遮罩/漸變組合?我似乎無法找到任何功能。
我想知道如何去增加一個上下顛倒梯度反射,與此類似:透明漸變反射 - VB.NET?
我會推論第一反射的位圖是顛倒了。然後,在Photoshop中,我會爲圖像添加一個alpha蒙版,並使用黑色/白色漸變的頂部到底部。
如何在VB.NET中添加alpha遮罩/漸變組合?我似乎無法找到任何功能。
下面是使用Bitmaps
Dim bm_src1 As Bitmap = CType(pb1.Image.Clone, Bitmap)
Dim bm_out As New Bitmap(bm_src1.Width, bm_src1.Height)
Using gr As Graphics = Graphics.FromImage(bm_out)
'Flip image
gr.TranslateTransform(CSng(bm_src1.Width/2), CSng(bm_src1.Height/2))
gr.RotateTransform(180)
gr.TranslateTransform(-CSng(bm_src1.Width/2), -CSng(bm_src1.Height/2))
' Give the images alpha gradients.
Dim alpha As Integer
For x As Integer = 0 To bm_src1.Width - 1
For y As Integer = 0 To bm_src1.Height - 1
alpha = (255 * y) \ bm_src1.Height
Dim clr As Color = bm_src1.GetPixel(x, y)
clr = Color.FromArgb(alpha, clr.R, clr.G, clr.B)
bm_src1.SetPixel(x, y, clr)
Next
Next
' Draw the images onto the result.
gr.DrawImage(bm_src1, 0, 0)
End Using
' Display the result.
pbResult.Image = bm_out 'picturebox output
當我在PictureBox中查看此圖像時,它具有黑色背景。有什麼辦法解決這個問題嗎? 另外,我怎樣才能使它產生的新反射位圖只有原始高度的1/3,所以它反映了src的底部三分之一? – yttrium 2013-05-06 14:13:25
這個問題的後半部分沒有關係。 有什麼方法可以提高性能?對於大型位圖而言,每像素繪製速度令人難以置信。 – yttrium 2013-05-06 14:28:00
提前製作圖像,然後只顯示它們,如果您不需要它們的動態。 – OneFineDay 2013-05-06 17:04:48
Alpha混合... – matzone 2013-05-03 16:58:10
是一種方式,但我要如何做到這一點的漸變? – yttrium 2013-05-03 17:02:01