gpt4 book ai didi

java - SWT - 获取图像的实际屏幕位置

转载 作者:行者123 更新时间:2023-11-30 04:52:47 24 4
gpt4 key购买 nike

我使用以下代码在合成器上绘制了图像

imageCanvas = new Composite(shell, SWT.BORDER);  

//adding paintListener to the canvas
imageCanvas.addPaintListener(new PaintListener() {
@Override
public void paintControl(PaintEvent e)
{
if (sourceImage != null)
{
// draw the image
e.gc.drawImage(sourceImage, 120, 150);

//check the bounds of the image using the getBounds function
Rectangle newrec = sourceImage.getBounds();
System.out.println("X: " +newrec.x + " Y: "+newrec.y ); // prints (0, 0) instead of (120, 150)
}
}
});

现在,我正在尝试检索屏幕上的图像位置。 image.getBounds 函数返回父容器内的边界,AWT/Swing 中使用的 getLocationOnScreen() 不适用于 SWT。如何在 SWT 中获取图像的屏幕位置?

最佳答案

您需要显示相对坐标。如果您有一个 Composite imageCanvas,并且您要在坐标 120, 150 处绘制图像,那么您可以通过调用以下命令获取显示屏上的坐标:

imageCanvas.toDisplay(120, 150);

关于java - SWT - 获取图像的实际屏幕位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508589/

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