Метод stbi_load не принимает мои параметры

#java #lwjgl #stb-image

#java #lwjgl #stb-image

Вопрос:

 bi = ImageIO.read(new File(filename));
width = bi.getWidth();
height = bi.getHeight();
            
ByteBuffer data = stbi_load("/sprites/"   filename, width, height, 0, 0);
 

По какой-то причине stbi_load не принимает второй, третий и четвертый параметры в методе, даже если все они являются допустимыми целыми числами. Он выдает следующую ошибку

 The method stbi_load(ByteBuffer, IntBuffer, IntBuffer, IntBuffer, int) in the type STBImage is not applicable for the arguments (String, int, int, int, int).
 

Есть идеи, почему это происходит? Любые ответы приветствуются

Комментарии:

1. если я правильно помню, вы должны использовать путь к файловой системе, а не claspath

Ответ №1:

Не могли бы вы показать сигнатуру stbi_load метода.

Возможно, он ожидает аргументы типов ByteBuffer и IntBuffer, а не типов String и int , как вы указали.

Комментарии:

1. Метод stbi_load(ByteBuffer, IntBuffer, IntBuffer, IntBuffer, IntBuffer, int) в типе STBImage не применим для аргументов (String, int, int, int, int, int). Это сигнатура метода, поэтому он ожидает типы u, упомянутые выше, но почему он запрашивает их вместо обычной строки и целых чисел?

2. Потому что класс STBImage был разработан именно таким образом.