Я кодирую customui для minecraft, я хочу добавить ImageModule для отображения изображения на экране, но я знаю только, как читать изображение из jar, а не из файла, Minecraft.getMinecraft (). GetTextureManager (). BindTexture() кажется только поддерживает ResouceLoaction.
public static void drawImage(ResourceLocation image, int x, int y) {
ResourceLocation res = new ResourceLocation("example.jpg");
res.getResourcePath();
File picture = new File("C:/Users/aflyun/Pictures/Camera Roll/1.jpg");
BufferedImage sourceImg = null;
try {
sourceImg = ImageIO.read(new FileInputStream(picture));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return;
}
System.out.println(String.format("%.1f", picture.length() / 1024.0));
int width = sourceImg.getWidth();
int height = sourceImg.getHeight();
// ScaledResolution scaledResolution = new
// ScaledResolution(Minecraft.getMinecraft());
GL11.glDisable((int) 2929);
GL11.glEnable((int) 3042);
GL11.glDepthMask((boolean) false);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
GL11.glColor4f((float) 1.0f, (float) 1.0f, (float) 1.0f, (float) 1.0f);
Minecraft.getMinecraft().getTextureManager().bindTexture(image);
Gui.drawModalRectWithCustomSizedTexture(x, y, 0.0f, 0.0f, width, height, width, height);
GL11.glDepthMask((boolean) true);
GL11.glDisable((int) 3042);
GL11.glEnable((int) 2929);
}