免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5283 | 回复: 6
打印 上一主题 下一主题

[其他] 请教directdraw的问题,实在不知道到哪里提问了! [复制链接]

论坛徽章:
2
戌狗
日期:2013-11-06 17:35:36寅虎
日期:2014-10-20 23:12:29
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-24 11:49 |只看该作者 |倒序浏览
编程论坛我一般就在这里,不知道在这里问合适不合适。
我现在用做视频回放, 用directdraw 画 解码出来的yuv图片。
后来加上了图片的时间戳, 都是这一个窗口区间里的。 现在的做法是用directdraw画完图片后再用gdi函数画时间戳(文字),
这样就会有一点闪烁, 帧率越高闪烁越明显。

所以请教大家, 有没有一种方法, 可以在directdraw的surface里 画图片和文字 然后做一次blt

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
2 [报告]
发表于 2013-04-24 12:12 |只看该作者
peijue 发表于 2013-04-24 11:49
编程论坛我一般就在这里,不知道在这里问合适不合适。
我现在用做视频回放, 用directdraw 画 解码出来的y ...


当然可以, 你都知道了剩下的就是怎么实现的问题了。 偏偏怎么做我已经忘了

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
3 [报告]
发表于 2013-04-24 12:16 |只看该作者
zylthinking 发表于 2013-04-24 12:12
当然可以, 你都知道了剩下的就是怎么实现的问题了。 偏偏怎么做我已经忘了


记得是建若干个 surface,  而后在其中一个上面写文字, 并且将其背景色设置为某个特定颜色, 文字取另一个颜色, 然后 blt 到视频surface 时 mask该背景色, 那么就可以达到只将文字 blt 上去的效果

论坛徽章:
2
戌狗
日期:2013-11-06 17:35:36寅虎
日期:2014-10-20 23:12:29
4 [报告]
发表于 2013-04-24 13:02 |只看该作者
回复 3# zylthinking


    真心感谢,directdraw我不是很熟悉。我现在做法是一个primary surface ,一个offscreenplain 的 YUV surface。把图片数据copy到 yuv surface上,
然后 blt yuv surface 到 primary surface。
如果想刷一次屏是不是要再创建一个offscreenplain 的 text surface 然后把文字画到这个text surface , 把图片画到 yuv surface 。然后 blt text surface 到 yuv surface。
然后 再将yuv surface blt 到 primary surface上呢?
还有ddraw surface 画字用什么函数?

不好意思问题太具体了

论坛徽章:
11
未羊
日期:2013-12-16 12:45:4615-16赛季CBA联赛之青岛
日期:2016-04-11 19:17:4715-16赛季CBA联赛之广夏
日期:2016-04-06 16:34:012015亚冠之卡尔希纳萨夫
日期:2015-11-10 10:04:522015亚冠之大阪钢巴
日期:2015-07-30 18:29:402015亚冠之城南
日期:2015-06-15 17:56:392015亚冠之卡尔希纳萨夫
日期:2015-05-15 15:19:272015亚冠之山东鲁能
日期:2015-05-14 12:38:13金牛座
日期:2014-12-04 15:34:06子鼠
日期:2014-10-16 13:40:4715-16赛季CBA联赛之八一
日期:2016-07-22 09:41:40
5 [报告]
发表于 2013-04-24 15:37 |只看该作者
peijue 发表于 2013-04-24 13:02
回复 3# zylthinking


思路似乎是正确的, 我印象中是, 现在忘了, 只能说大概; 至于画字, 似乎 drawtext 就可以, 记得 surface 是可以拿到一个hdc 的。

论坛徽章:
0
6 [报告]
发表于 2013-08-02 16:45 |只看该作者
做一个双缓冲,使用显卡加速

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
7 [报告]
发表于 2013-08-02 17:21 |只看该作者
回复 3# zylthinking


你看我奋起神勇,把pmerofc骂跑了,肿么样??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP