廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5080 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
za08280714
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[Basic][求助] VB2008背景問題
又來麻煩大大了.這次是背景的圖片.圖片我有用photoshop去背的做法.001的那張圖可以跟背景ㄧ ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被za08280714在2011-08-10 19:56重新編輯 ]


獻花 x0 回到頂端 [樓 主] From:臺灣中華電信股份有限公司 | Posted:2011-08-09 23:35 |
ebolaman 手機 會員卡
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎

級別: 副版主 該用戶目前不上站
版區: 程式設計
推文 x38 鮮花 x458
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

一個簡單的解決辦法:

將圖片存成 gif 格式,設定 白色 為透明色

接著在 PictureBox 的屬性選 BackColor >> Web >> Transparent





就能讓白色部分透明,而與背景圖交疊

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: ^^ 因為您的參與,讓程式設計更容易!!


My BOINC stats :

獻花 x1 回到頂端 [1 樓] From:台灣寬頻通訊顧問股份有限公司 | Posted:2011-08-10 09:50 |
za08280714
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大謝謝你.照你說得方式.背景已經透明了.可是又出現了ㄧ個問題.我用個簡單程式讓圖移動.移動進行中圖片透明正方形的框框也跟這移動.動起來像是ㄧ張圖在動.有沒有辦法修改成只有顏色的紅點在移動.周圍的環境還是跟背景ㄧ樣.看起來很自然

註:檔案超過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


本帖包含附件
zip 新圖片.rar   (2022-06-09 14:18 / 1431 KB)   下載次數:2


[ 此文章被za08280714在2011-08-10 20:10重新編輯 ]


獻花 x0 回到頂端 [2 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-10 19:50 |
ebolaman 手機 會員卡
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎

級別: 副版主 該用戶目前不上站
版區: 程式設計
推文 x38 鮮花 x458
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 za08280714 於 2011-08-10 19:50 發表的 : 到引言文
大大謝謝你.照你說得方式.背景已經透明了.可是又出現了ㄧ個問題.我用個簡單程式讓圖移動.移動進行中圖片透明正方形的框框也跟這移動.動起來像是ㄧ張圖在動.有沒有辦法修改成只有顏色的紅點在移動.周圍的環境還是跟背景ㄧ樣.看起來很自然
註:檔案超過2000K.我把程式跟圖片分開

Public Class Form1
    Dim m_x, m_y, a_X, a_Y As Integer
.......


這好像是叫做 圖片閃動(閃爍),英文稱 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 的物件:


本帖包含附件
zip Pic_Move.rar   (2022-06-09 14:18 / 778 KB)   下載次數:4


My BOINC stats :

獻花 x0 回到頂端 [3 樓] From:台灣寬頻通訊顧問股份有限公司 | Posted:2011-08-10 22:20 |
za08280714
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大程式碼我有試看看可是還是沒有效果.在網路看到的[圖片閃動(閃爍),英文稱 Graphics flicker] 都寫的很亂看不太懂.至於PictureBox 不顯示(Visible=0) 有放上去圖片就整個沒顯示了 .我有重新換了比較小的程式上傳上去.我試了好多方式都沒效果.請大大幫我修改ㄧ下.感恩


本帖包含附件
zip 123.zip   (2022-06-09 14:18 / 405 KB)   下載次數:1


獻花 x0 回到頂端 [4 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-11 20:33 |
za08280714
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大VB2008背景問題 我已經用好了.結果是異想不到的.我都沒改程式.而是重新作張圖片.
再放上去.結果 就沒有圖片閃動(閃爍),就沒有這個問題了.感謝大大


獻花 x0 回到頂端 [5 樓] From:臺灣中華電信股份有限公司 | Posted:2011-08-11 21:14 |
iamboss123
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

用Google 查一下 double buffer 的應用


獻花 x0 回到頂端 [6 樓] From:河北 | Posted:2014-01-12 14:37 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.070881 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言