繁体   English   中英

启动画面IDE的大小

[英]Size of splash screen IDE

对于我的论文工作,我需要创建一个IDE,并且要为该IDE创建启动屏幕。 因此,我的第一个问题是我不知道必须为启动屏幕创建的图像尺寸。 我的第二个问题是,市场上可能有许多不同的屏幕分辨率,某些计算机的屏幕飞溅可能更大或更小...我们有什么可以解决的方法?

PS:我真的很喜欢IntelliJ IDE(15)的启动画面,我想创建类似的东西作为启动画面。

// ------------------------------------------------ ---------------- //

问题2的解决方案:

    //Get the resolution of the screen PC
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    int X = (toolkit.getScreenSize().width);
    int Y = (toolkit.getScreenSize().height);

    //Get the  pixels of the screen middle resolution
    int cX = (toolkit.getScreenSize().width / 2) - ((int)((ImageView) s.lookup("#splash_logo")).getFitWidth())/2;
    int cY = (toolkit.getScreenSize().height / 2) - ((int)((ImageView) s.lookup("#splash_logo")).getFitHeight()/2);

    //Set the position of Stage to middle
    primaryStage.setX(cX);
    primaryStage.setY(cY);

如果要根据显示器的分辨率缩放它,我首先要使用java.awt.Toolkit获得高度和宽度:

Toolkit toolkit = Toolkit.getDefaultToolkit();
int X = (toolkit.getScreenSize().width)
int Y = (toolkit.getScreenSize().height)

然后,可以使用以下方法缩放用于启动画面的图像:

public BufferedImage scaleImage(int multiplier, BufferedImage img) {

    BufferedImage bi = new BufferedImage(multiplier * img.getWidth(null), multiplier * img.getHeight(null), BufferedImage.TYPE_INT_RGB);

    Graphics2D grph = (Graphics2D) bi.getGraphics();
    grph.scale(multiplier, multiplier);

    // everything drawn with grph from now on will get scaled.
    grph.drawImage(img, 0, 0, null);
    grph.dispose();

    return bi;
}

然后通过计算中间位置并将其设置在屏幕上,将其居中放置在屏幕上:

    int cX = (toolkit.getScreenSize().width / 2) - (getWidth() / 2);
    int cY = (toolkit.getScreenSize().height / 2) - (getHeight() / 2);
    component.setLocation(cX, cY);

实际的实现取决于您,但是这些是我使用的工具,对我来说很好用。 希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM