引用 | 編輯
za08280714
2011-08-09 23:35 |
樓主
▼ |
||
|
引用 | 編輯
za08280714
2011-08-10 19:50 |
2樓
▲ ▼ |
||||||||||
大大謝謝你.照你說得方式.背景已經透明了.可是又出現了ㄧ個問題.我用個簡單程式讓圖移動.移動進行中圖片透明正方形的框框也跟這移動.動起來像是ㄧ張圖在動.有沒有辦法修改成只有顏色的紅點在移動.周圍的環境還是跟背景ㄧ樣.看起來很自然
註:檔案超過2000K.我把程式跟圖片分開 Public Class Form1 Dim m_x, m_y, a_X, a_Y As Integer Dim mdir As String Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown Select Case e.KeyCode Case Keys.Right mdir = "R" Timer1.Enabled = True End Select End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick m_x = m_x + 25 pb_ghost.Location = New Point(m_x, m_y) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load m_x = 140 : m_y = 490 End Sub End Class
x0 |
引用 | 編輯
ebolaman
2011-08-10 22:20 |
3樓
▲ ▼ |
||||||||||
下面是引用 za08280714 於 2011-08-10 19:50 發表的 : 這好像是叫做 圖片閃動(閃爍),英文稱 Graphics flicker 可以去 Google 查一下 double buffer 的應用,聽說可以去除圖片閃爍的問題 但是我在這邊用了一個非常簡單的方法,我並不知道原理為何: 方法如下: 將 PictureBox 不顯示(Visible=0) ,改在 Form1_Paint() 中加入繪圖的部分 並設定 Me.SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True) 就這樣圖片不會閃爍了 複製程式 Public Class Form1 Dim g As Graphics = Me.CreateGraphics() Private Sub timer_move_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timer_move.Tick Static ti As Integer pic_red.Left += 10 Me.Refresh() ti += 1 If ti >= 10 Then timer_move.Enabled = False End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load SetStyle(ControlStyles.AllPaintingInWmPaint Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.UserPaint, True) pic_red.Visible = False End Sub Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint e.Graphics.DrawImage(pic_red.Image, pic_red.Left, 0) End Sub End Class 可以下載看看範例,注意執行過程中圖片是 graphics.DrawImage 畫出來的,並不是 PictureBox 的物件:
x0 |
引用 | 編輯
za08280714
2011-08-11 20:33 |
4樓
▲ ▼ |
||||||||||
大大程式碼我有試看看可是還是沒有效果.在網路看到的[圖片閃動(閃爍),英文稱 Graphics flicker] 都寫的很亂看不太懂.至於PictureBox 不顯示(Visible=0) 有放上去圖片就整個沒顯示了 .我有重新換了比較小的程式上傳上去.我試了好多方式都沒效果.請大大幫我修改ㄧ下.感恩
x0 |
引用 | 編輯
za08280714
2011-08-11 21:14 |
5樓
▲ ▼ |
大大VB2008背景問題 我已經用好了.結果是異想不到的.我都沒改程式.而是重新作張圖片.
再放上去.結果 就沒有圖片閃動(閃爍),就沒有這個問題了.感謝大大 x0 |
引用 | 編輯
iamboss123
2014-01-12 14:37 |
6樓
▲ |
用Google 查一下 double buffer 的應用
x0 |