4

我有 Java Swing 应用程序,其边界为JFrame. 到目前为止,该应用程序以 jar 文件的形式分发。

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

现在,我从设计师那里得到了一个新的图像cdrpng格式。Png 图像现在是 5 x 4 千像素。

我的要求:

  1. 最小化图像文件大小
  2. 支持不同的屏幕分辨率

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

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

2 回答 2

2

如果您有机会获得该文件,.svg这将最适合您的需求。然后,您可以查看Apache 的Batik库及其渲染图像的光栅器。

于 2013-01-17T11:51:01.103 回答
1

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

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

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

..如果需要根据决议。

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

在运行时加载一个库来渲染 SVG 或 EPS 对BufferedImageBG 图像来说似乎有点过分了。

部署

该应用程序以 jar 文件的形式分发..

使用图像的应用程序通常具有 GUI。做这个应用程序。有图形用户界面吗?

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

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

于 2013-01-18T02:39:05.200 回答