任务是在视频画面上运行jlabel。 JLabel应该是透明的,没有任何背景。
我在这里找到答案: Painting over JMF component 它完美地工作...至少我的网络摄像头。但是当我尝试用通常的视频替换源时,我开始遇到问题:
http://clip2net.com/clip/m25721/1305648619-clip-6kb.png
视频播放仍然很好(奇怪 - 但我无法捕捉视频 - 它在屏幕上是黑色但在现实中仍然很好),但背景出现在我的JLabel下。格式:176 * 144(4:3),MPG1 = MPEG 1(VCD)。
我打开另一个老视频160 * 120(4:3),IV41 = Intel Indeo R4.1。嗯 - 我做了一个屏幕,它工作正常 - 我们没有按预期的bkacground。
http://clip2net.com/clip/m25721/1305649256-clip-50kb.jpg
我实验越来越多 - 并且在没有背景的情况下得到了积极的结果,IV50 = Intel Indeo R5.1,IV32 = Intel Indeo R3.2,IV41 = Intel Indeo R4.1和...... DIVX = OpenDivx v4。所有常见的mpegs都很糟糕(在JLabel下有灰色背景)。
也许还有另一种方法可以在视频上绘制jlabel?或者这种方法可以修复 - 请帮忙。
我刚刚以这种方式将JLabel添加到上面的代码中:
JLabel jl = new JLabel();
jl.setText("This is my JLabel that will cross the videoframe");
jl.setBounds(50,50,300,50);
jLP.add(jl, 0);
答案 0 :(得分:0)
尝试将JLabel
绘制为BufferedImage
,就像在此LabelRenderTest.java source中一样。然后在视频上绘制图像。
然后可以在需要看到的任何地方绘制图像。将其缓存并在每个帧中的不同位置绘制以模拟文本滚动。