Java チャットゲーム クライアントを実行していますが、チャットに表示する前に画像を読み込みます。
チャットゲームで使用したすべての画像を Yahoo Smush.it 経由で圧縮しましたが、Java コンソールで次のエラーが発生した後:
java.util.zip.ZipException: unknown compression method
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:147)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:344)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:246)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
Uncaught error fetching image:
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at sun.awt.image.PNGFilterInputStream.read(PNGImageDecoder.java:810)
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:221)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.awt.image.PNGImageDecoder.produceImage(PNGImageDecoder.java:346)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:246)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
しかし今、私はフォトショップですべての写真を開いて再度保存しましたが、20MB以上のディスクの場所が必要なので、私の質問は次のとおりです:
Java 圧縮と競合することなく、すべての画像を正しく圧縮するにはどうすればよいですか? サイトはありますか?