gpt4 book ai didi

SWT 覆盖布局

转载 作者:行者123 更新时间:2023-12-04 15:28:29 27 4
gpt4 key购买 nike

我想要一个透明的 Canvas 。

我有一个正在渲染视频的 Canvas 。我想要在视频顶部有一个 Canvas ,这样我就可以在视频上绘制一个矩形来选择视频区域以用于其他目的(例如缩放、拍摄图像等...)。

在 SWT 中可以吗?

谢谢。

最佳答案

我不认为你可以有一个透明的 Canvas ,但是你可以在 Canvas 上实现双缓冲播放视频,这也将提高帧率并减少屏幕闪烁。

Image bufferImage = (Image) canvas.getData("buffer-image");
Display display = Display.getDefault();
if (bufferImage == null //if there is no image
|| bufferImage.getBounds().width != canvas.getSize().x //if the image is incorrectly sized, which could result in unnecessary expenditures or not drawing everything
|| bufferImage.getBounds().height != canvas.getSize().y) {
bufferImage = new Image(display, canvas.getSize().x, canvas.getSize().y);
canvas.setData("buffer-image", bufferImage);
}

GC bufferImageGC = new GC(bufferImage);
bufferImageGC.setBackground(e.gc.getBackground());
bufferImageGC.setForeground(e.gc.getForeground());

//fill in the background
Rectangle background = bufferImage.getBounds();
bufferImageGC.fillRectangle(0, 0, background.width, background.height);

//draw video here, remember to draw onto bufferImageGC
//draw anything else you want here

希望对您有所帮助。

关于SWT 覆盖布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2464115/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com