私は必死です。
PNGファイルをロードするために、アプリケーションに次のコードがあります。
public static Image loadImageFromLocal(Class<?> clazz, String fileName) {
ImageDescriptor imageDesc = ImageDescriptor.createFromFile(clazz, fileName);
Image image = imageDesc.createImage();
return image;
}
インターネットからいくつかのファイルをダウンロードして、同じロジックを使用してロードしようとするまでは、これまでのところうまくいきました。ダウンロードしたファイルが正しく表示されません。SWT プログラム ロジックを適用して元のファイルを表示すると、正常に動作します。
私はファイルの違いを見つけようとしました - 正しく表示されたものは 8 ビットで、ダウンロードされたものはもちろん 32 ビットの色深度です。
次に、ダウンロードしたものの色深度を 32 ビットから 8 ビットに変更しました。私のプログラムはまだそれらを正しく表示できません。
また、ダウンロードしたファイルの形式を JPG に変更しようとしましたが、それでも機能しません。
この問題を解決するには、どの方向に進むべきですか?