gpt4 book ai didi

c++ - C++读取图像文件的好方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:50:27 25 4
gpt4 key购买 nike

<分区>

我打算开发一个可以用 C++ 加载和处理图像文件的系统。在编写系统代码之前,我想专注于项目的软件工程和 OOP 方面。

我的问题是您将如何设计该系统的基本图像加载部分?这是我的类结构:

在 image.hpp 文件中,我想要一个包含基本内容的类来表示内存中的所有图像文件。

// image.hpp

class image {
private:
unsigned int size;
protected:
unsigned int width;
unsigned int height;
uint8_t * raw;
public:
image();
image(const image& obj);
unsigned int getWidth() { return width; }
unsigned int getHeight(){ return height; }
virtual ~image();
virtual bool load(const std::string &fileName) = 0;
};

在 tga.hpp 文件中,我完全专注于 TGA 特定操作。

// tga.hpp
typedef struct {
uint8_t idLength;
uint8_t colorMapType;
uint8_t imageType;
uint16_t colorMapOrigin;
uint16_t colorMapLength;
uint8_t colorMapDepth;
uint16_t xOrigin;
uint16_t yOrigin;
uint16_t width;
uint16_t height;
uint8_t bitsPerPixel;
uint8_t imageDescriptor;
} tgaHeader;

class tga: public image {
private:
tgaHeader header;
protected:
public:
bool load(const std::string &fileName);
};

您认为这是一个好的方法吗? --我不这么认为...

顺便说一句,我在问这个问题之前试图找到一个例子,但我什至找不到关键字来阅读关于这类问题的文章。

提前致谢!

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com