Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建位图(C语言)?_C_Image Processing_Bitmap - Fatal编程技术网

如何创建位图(C语言)?

如何创建位图(C语言)?,c,image-processing,bitmap,C,Image Processing,Bitmap,我想知道如何在C语言中导入和导出位图。我基本上不知道从哪里开始。术语“位图”有点通用,除非你特别指位图 我建议在您的平台上使用图像处理库(如)。一个好的图形库有一些例程,可以对各种格式的图像进行输入和输出 您看过ImageMagick的C API包装器了吗如果您想仔细阅读文档。内存中的位图与此类似: struct Image { int width; int height; char *data; // 1 byte per channel & only 1

我想知道如何在C语言中导入和导出位图。我基本上不知道从哪里开始。

术语“位图”有点通用,除非你特别指位图


我建议在您的平台上使用图像处理库(如)。一个好的图形库有一些例程,可以对各种格式的图像进行输入和输出

您看过ImageMagick的C API包装器了吗如果您想仔细阅读文档。

内存中的位图与此类似:

struct Image {
    int width;
    int height;
    char *data;    // 1 byte per channel & only 1 channel == grayscale
}

struct Image theImage;
theImage.width = 100;
theImage.height = 100;
theImage.data = malloc(sizeof(char) * theImage.width * theImage.height);
至于导入和导出,有一些非常简单的文件格式,请看。对于更复杂的格式,最好使用已有的库

大多数框架已经为最常见的文件格式提供了加载/保存方法。如果您正在寻找一个轻量级库,您可以看看。

我喜欢使用虚拟驱动程序。您可以像在屏幕上一样在内存缓冲区中进行绘制,然后将其保存为PNG或其他类似格式


另一个流行的库是。

简单的答案是使用合适的库。合适的库取决于您使用的平台。在GUI平台上,GUI API/框架将包括这些功能。

非常出色。我将其用于我自己的游戏开发工作,它支持多种格式。以下是支持的功能和格式列表-

我喜欢/tools,尽管我通常喜欢命令行;这个API很有效,但使用起来没有多大乐趣


这学期我写了大量的软件给初学的学生用来操作图像;你可能想查看塔夫茨课程的家庭作业和支持软件。

从头开始创建位图或通过库创建位图?你应该学习位图文件的结构。然后创建位图并不困难,就像在填充文件头后玩位一样。我看了100页API手册,我不确定这是谁的人有困难开始的来源…用户名+密码的最后一个链接所需的?