小编Nab*_*ius的帖子

ImageIO.read返回NULL,没有错误

以下代码似乎不起作用,即使文件看起来很好.

    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()),并将文件包装在输入流中.

java image

17
推荐指数
2
解决办法
3万
查看次数

QT和OpenGL的奇怪行为

当尝试使用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)

c++ opengl qt

1
推荐指数
1
解决办法
381
查看次数

标签 统计

c++ ×1

image ×1

java ×1

opengl ×1

qt ×1