0

我想知道如何在一个函数中加载许多图像并将其分配给一个变量,以便我可以调用它们并保存这些图像的信息。

例如 :

src = tile1.png
x = 10
y = 11

我需要什么样的数据类型?

我的目标是遍历文本文件中的行,加载每个图像及其相关信息,以便预先加载图像并准备好在屏幕上显示。我只是有点坚持如何完成。

4

2 回答 2

2

如果你想推出自己的系统,你可以创建一个抽象基Image类。然后为您要处理的每种图像类型(例如ImageJpegImagePng)创建一个具体的子类。然后,这些具体的子类可以是像libjpeglibpng这样的图像加载库的简单包装器。有一个创建具体对象但返回std::shared_ptr抽象类的工厂函数。这些可以存储在标准容器中,例如std::vector.

然而,已经有许多现有的图像库,包括特定的(如上面提到的 libjpeg/libpng)和通用的(如SDL_ImageBoost GIL)。其中有些已经有 C++ 类,有些则不需要你自己包装。

于 2012-11-11T07:17:52.790 回答
1

一个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;
}
于 2012-11-11T10:00:59.413 回答