jar中提供什么格式的大背景图片?

时间:2013-01-17 11:44:42

标签: java swing jar bufferedimage javax.imageio

我的Java Swing应用程序具有JFrame的最大边界。到目前为止,应用程序以jar文件的形式发布。

最初对于背景图像我使用了png格式的一些大的任意图像文件。我确实有一个代码可以加载并设置图像作为JFrame的背景。

现在,我以cdrpng格式从设计师那里获得了一张新图片。 Png图像现在是5 x 4千像素。

我的要求:

  1. 最小化图像文件大小
  2. 支持不同的屏幕分辨率
  3. 满足要求的最佳选择是什么?

    • 将文件大小调整为1920x1080并保持为png,并根据分辨率在运行时调整为较小的图像
    • 将文件保存为cdr或其他一些矢量格式。但我不确定Java是否可以轻松阅读并将其转换为BufferedImage

2 个答案:

答案 0 :(得分:2)

如果您有机会获取.svg中的文件,这将最符合您的需求。然后,您可以查看Apache's Batik库及其光栅化器来渲染图像。

答案 1 :(得分:1)

  

满足要求的最佳选择是什么?

     

将文件大小调整为1920x1080并保持为png,并在运行时调整为较小的图像..

..或更大 - 时间继续,屏幕分辨率变大(&更大)..

  

..如果根据决议需要。

是。我认为这是最好的选择。

加载库以在运行时将SVG或EPS渲染到BufferedImage对于BG图像而言似乎有些过分。

部署

  

应用程序以jar文件形式发布..

使用图像的应用程序通常具有GUI。这个应用程序吗?有一个GUI?

如果是这样,最好使用Java Web Start部署它。

JWS for JWS可以通过懒惰和编程方式下载,并在更新时刷新,因此图像可能应该位于单独的Jar中,以避免每次修复bug时都下载新版本。放置图像(或一般的压缩媒体文件 - 声音,视频......)时,请使用“无压缩”。 Zip对这些已经高度优化或至少非常专业的数据格式没有任何好处。