gpt4 book ai didi

c++ - 在 C 或 C++ 中将 jpeg 或 png 图像作为像素数据打开

转载 作者:太空宇宙 更新时间:2023-11-04 02:45:51 26 4
gpt4 key购买 nike

这是我的第一篇文章,如果我没有清楚地传达问题,请告诉我。

我正在尝试在 dev c++ 中打开一个(黑白)jpeg 或 png 图像文件作为数组,以便我可以隔离白色像素的位置。我理解的隔离的指针和循环。但是,打开图像文件没有用,并且无法找到我可以使用的示例。除了给定的 #include "cstdlib" #include "iostream" #include "stdio.h"

我没有其他头文件。我知道 fopen 用于打开文件,但是我的尝试都没有显示图像的数据。

谢谢你的帮助

这不是我的代码。这是提供给我的 BIV1991 示例我发帖是因为找不到 gdiplus.h 的 header 。建议使用 header unknwn、windows、objidl 来解决该问题

#include <cstdlib>
#include <iostream>
#include <Unknwn.h>
#include <windows.h>
#include <objidl.h>
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")
int main(int argc, char *argv[])
{
// initialize gdiplus
Gdiplus::GdiplusStartupInput si;
ULONG_PTR token;
Gdiplus::GdiplusStartup(&token,&si,0);

// load image as bitmap, any formats supported
Gdiplus::Bitmap image(L"C:\\image.jpg",false);
int w = image.GetWidth();
// image.LockBits - to read pixels
system("PAUSE");
return EXIT_SUCCESS;
}

最佳答案

如果您为 Windows 编程,您可以使用 GDIPlus 读取 Jpeg 和其他图像类型并对其进行操作,例如绘图或获取它们的像素。保证100%。我做了很多次。

包含的内容:

#include <gdiplus.h>
#pragma comment(lib,"gdiplus.lib")

代码中做什么:

// initialize gdiplus
Gdiplus::GdiplusStartupInput si;
ULONG_PTR token;
Gdiplus::GdiplusStartup(&token,&si,0);

// load image, any formats supported
Gdiplus::Bitmap image(L"C:\\image.jpg",false);
int w = image.GetWidth();
// image.LockBits - to read pixels

关于c++ - 在 C 或 C++ 中将 jpeg 或 png 图像作为像素数据打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27477441/

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