我想知道如何在一个函数中加载一些图像并将它分配给一个变量,这样我就可以调用它们并保存这些图像的信息。
例如:
src = tile1.png
x = 10
y = 11
我需要什么样的数据类型?
我的目标是遍历文本文件中的行,使用相关信息加载每个图像,以便预先加载图像并准备好在屏幕上显示。我只是有点坚持它将如何完成。
答案 0 :(得分:2)
如果要滚动自己的系统,可以创建一个抽象的基础Image
类。然后为您要处理的每种图像类型创建一个具体的子类(例如ImageJpeg
,ImagePng
)。然后,这些具体的子类可以是像libjpeg或libpng这样的图像加载库的简单包装器。有一个工厂函数,它创建一个具体对象但返回抽象类的std::shared_ptr
。这些可以存储在标准容器中,例如std::vector
。
然而,已经存在许多现有的图像库,两者都是特定的(如上面提到的libjpeg / libpng)和泛型(如SDL_Image或Boost GIL)。其中一些已经有了C ++类,有些则不需要被你包裹。
答案 1 :(得分:1)
A struct
。
示例:
#include <iostream>
#include <string>
using namespace std;
struct a_new_datatype{
string name;
int age;
char gender;
};
int main(){
a_new_datatype my_own_datatype;
my_own_datatype.name = "Christopher";
my_own_datatype.age = 34;
my_own_datatype.gender = 'M';
cout << "Name: " << my_own_datatype.name << endl;
cout << "Age: " << my_own_datatype.age << endl;
cout << "Gender: " << my_own_datatype.gender << endl;
return 0;
}