广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5051 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为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.083636 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言