以下代码似乎不起作用,即使文件看起来很好.
images = new BufferedImage[32];
FileInputStream fis = null;
for (int i = 0; i < 32; i++) {
File file = new File("tiles\\"+i+".bmp");
if (!file.exists()){
System.out.println("File "+i+" failed");
}
try {
fis = new FileInputStream(file);
} catch (FileNotFoundException e) {
System.err.println(e + "" + i);
}
try {
images[i] = ImageIO.read(fis);
} catch (IOException e) {
System.err.println(e + "" + i);
}
if (images[i] == null) {
System.out.println("Image "+i+" failed");
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
编辑:结果是我尝试Graphics.drawImage(images [0]);,它给我一个空指针异常.这段代码完成得很好.
编辑:已更改按照建议移动了if(!file.exists()),并将文件包装在输入流中.
当尝试使用QT绘制OpenGL小部件时,窗口显示最终会变形.所有这一切都是屏幕被清除.
截图http://img508.imageshack.us/img508/9950/screenshotofd.png
#include "glwidget.h"
// Mainwidget is a sub-class of GLWidget
GLWidget::GLWidget(QWidget *parent) :
QGLWidget(parent)
{
}
void GLWidget::resizeGL(int width,int height)
{
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, height, 0, -1, 1);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
}
GLWidget::~GLWidget()
{
;
}
#include <QtGui>
#include "mainwidget.h"
MainWidget::MainWidget()
{
//this->showFullScreen();
derp = 100;
}
void MainWidget::paintGL()
{
glClearColor(0, 0, 0, 0);
//drawTriangle(0, 0, 100, 100, derp, 0);
derp = rand()%500;
}
void MainWidget::initializeGL()
{
this->resizeGL(800, 600);
}
void MainWidget::drawTriangle(int x1,int …Run Code Online (Sandbox Code Playgroud)