ofx Threaded Image Loader

#pragma once

#include "ofMain.h"
#include "ofxThreadedImageLoader.h"

class ofApp : public ofBaseApp{

    public:
        void setup();
        void update();
        void draw();
        void exit();
       
        void keyPressed(int key);
        void keyReleased(int key);
        void mouseMoved(int x, int y );
        void mouseDragged(int x, int y, int button);
        void mousePressed(int x, int y, int button);
        void mouseReleased(int x, int y, int button);
        void mouseEntered(int x, int y);
        void mouseExited(int x, int y);
        void windowResized(int w, int h);
        void dragEvent(ofDragInfo dragInfo);
        void gotMessage(ofMessage msg);       
       
        ofxThreadedImageLoader loader;  // 쓰레드 이미지 로드
        vector<ofImage> images;         // 벡터 컬랙션
        int total;
   
};

// cpp -------------------------------------------

#include "ofApp.h"

//--------------------------------------------------------------
void ofApp::setup(){
    ofSetLogLevel(OF_LOG_VERBOSE);
    ofSetVerticalSync(true);
    total = 24;
    images.resize(total*2);
    for(int i = 0; i < total; ++i) {
        loader.loadFromDisk(images[i*2], "of" + ofToString(i) + ".png");
        loader.loadFromURL(images[i*2+1], "http://www.openframeworks.cc/of_inverted.png");
    }
}

//--------------------------------------------------------------
void ofApp::update(){

}

//--------------------------------------------------------------
void ofApp::draw(){   
   
    // draw the images.
    ofSetColor(255);
    for(int i = 0; i < (int)images.size(); ++i) {
        int x = (i%8);
        int y = (i/8);
        images[i].draw(x*128,y*128, 128,128);
    }   
   
    // draw the FPS
    ofDrawRectangle(0,ofGetHeight()-20,30,20);

    ofSetColor(0);
    ofDrawBitmapString(ofToString(ofGetFrameRate(),0),5,ofGetHeight()-5);
}

//--------------------------------------------------------------
void ofApp::exit(){
    loader.stopThread();
}

댓글

이 블로그의 인기 게시물

파이썬으로 Homomorphic Filtering 하기

파이썬으로 2D FFT/iFFT 하기: numpy 버전