C++之openFrameworks框架介绍
什么是openFrameworks
openFrameworks是一个开源的C++跨平台创意编程框架,旨在使创意编程变得更加容易、更容易使用并且开放。它通过封装大量的C++库和硬件驱动程序,提供了一种快速开发原型、制作交互式的多媒体应用程序、绘画、制作自动化等领域的框架。它支持多种操作系统,如Linux、MacOS、iOS等。
openFrameworks的安装
openFrameworks的安装可以通过官方网站下载最新版本的发行版和代码,也可以通过源代码进行构建。
官方网站下载方式
- 打开openFrameworks官网(https://openframeworks.cc/)
- 点击“Download”按钮,选择适应的操作系统和版本,然后下载对应版本的openFrameworks。
- 解压下载下来的压缩包到本地目录,安装步骤就完成了。
源代码构建方式
1.从GitHub上克隆openFrameworks源代码:git clone --depth=1 https://github.com/openframeworks/openFrameworks.git
;
2.运行openFrameworks/scripts/osx/download_libs.sh或openFrameworks/scripts/linux/download_libs.sh下载依赖库。
3.通过openFrameworks/scripts/osx/all.sh或openFrameworks/scripts/linux/compilePG.sh脚本编译openFrameworks,这将需要一些时间。
openFrameworks的基本结构
openFrameworks是一种开发框架,其基本结构包括几个重要的文件夹和文件。
apps
文件夹
apps文件夹是所有应用程序的主文件夹,每个应用程序都应该有一个子目录。打开这个文件夹的时候,你会看到很多的子目录,其中每个子目录都包含一个应用程序。
src
文件夹
src文件夹是编译指令的主目录,这个目录中包含了你的代码的源文件。
bin
文件夹
bin文件夹是代码编译产生的可执行文件所存储的目录。
config
文件夹
config文件夹包含了整个框架的配置信息。
openFrameworks的基本使用
openFrameworks有许多可用的类和库,可以帮助您编写交互式的应用程序。您可以使用它的API来控制各种硬件,创建各种视觉效果以及控制应用程序行为等。
创建一个基本的应用程序
下面是一个基本的openFrameworks应用程序。
#include "ofMain.h"
class ofApp : public ofBaseApp{
public:
void setup(){
ofSetWindowTitle("My App");
}
void update(){
}
void draw(){
ofDrawCircle(ofGetWidth()/2, ofGetHeight()/2, 50);
}
};
int main( ){
ofGLWindowSettings windowSettings;
windowSettings.setGLVersion(3,2);
ofCreateWindow(windowSettings);
ofRunApp(new ofApp());
}
在上面的代码片段中,我们定义了一个名为"ofApp"的类,这个类继承自ofBaseApp类。在setup()函数中,我们设置了应用程序的窗口标题为"My App"。在draw()函数中,我们画了一个圆。
打开并显示图像
#include "ofMain.h"
class ofApp : public ofBaseApp{
private:
ofImage image;
public:
void setup(){
// load image
image.load("image.jpg");
// set window title
ofSetWindowTitle("Image Example");
// set window dimensions to image dimensions
ofSetWindowShape(image.getWidth(), image.getHeight());
}
void update(){
}
void draw(){
// draw image
image.draw(0, 0);
}
};
int main( ){
ofGLWindowSettings windowSettings;
windowSettings.setGLVersion(3,2);
ofCreateWindow(windowSettings);
ofRunApp(new ofApp());
}
在上面的代码片段中,我们在应用程序的setup()函数中载入了一张图像(假设文件名为"image.jpg"),并将窗口大小设置为图像大小。在draw()函数中,我们画出了这张图像。
捕捉并显示视频
#include "ofMain.h"
class ofApp : public ofBaseApp{
private:
ofVideoGrabber video;
public:
void setup(){
// set up video grabber
video.setDeviceID(0);
video.setup(640, 480);
// set window title and shape
ofSetWindowTitle("Video Example");
ofSetWindowShape(640, 480);
}
void update(){
// update video frame
video.update();
}
void draw(){
// draw video
video.draw(0, 0);
}
};
int main( ){
ofGLWindowSettings windowSettings;
windowSettings.setGLVersion(3,2);
ofCreateWindow(windowSettings);
ofRunApp(new ofApp());
}
在上面的代码片段中,我们在应用程序的setup()函数中设置了视频设备和窗口大小。在update()函数中,我们更新了每个视频帧。在draw()函数中,我们将捕捉到的视频数据绘制到窗口上。
以上是openFrameworks的基本用法和开发框架介绍。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++之openFrameworks框架介绍 - Python技术站