视频播放器编程笔记,GDI DrawSting 显示不全(Graphics.VisibleClipBounds)

在做字幕输出时,发现如果要想给字幕添加一个黑色的背景,让字幕更清楚些,只有自己画出字幕最方便。这就用到了 GDI。问题是:我输出的字幕不全,被齐刷刷的砍掉了一部分。后来发现是Graphics.VisibleClipBounds Property属性导致的显示不全。我用了成员变量 m_G 从构建函数中获得 控件的G,而这时这个属性就定死了!不能改了,这属性是只读的。因此后面控件大小发生变化,这个值并没有改变。导致输出不可见。引以为戒。大坑一个。

修改方法:每次画出之前,临时获得G,这样就可以了。
将代码改成如下形式:

    public void showSubtitle(string subText,bool bForce=false)
    { //draw the string with gdi for the shadow effect
        m_topTxtG = lblTopSubtitle.CreateGraphics();
        m_topTxtG.DrawString.....
     }

马拉孙 于 2021-03-07
北京泛五地区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值