小小鸟弱问:怎么用DIB或者GDI+读取JPG图片并获得像素数据数组啊?

青松2 2011-07-04 03:43:03
我是新手,搞了几天也没弄明白,请大牛指教,谢谢了!


...全文
272 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ex_impression 2011-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xhxprogram 的回复:]
Bitmap Bmp(_T("文件地址"));//JPEG也算是一种Bitmap
BitmapData bd;
Bmp->LockBits(&Rect(0, 0, Bmp->GetWidth(),Bmp->GetHeight()),ImageLockModeRead,PixelFormat24bppRGB,&bd);
byte* pBits = (byte*)bd1.Scan……
[/Quote]
已经说的差不多了,我就不说了。或者你直接另存为BMP,读取文件,偏移54个字节就是图像的数据部分了。前面54个字节为头文件很说明部分。
技术first 2011-09-21
  • 打赏
  • 举报
回复
ls是sb
唐华春 2011-07-22
  • 打赏
  • 举报
回复
GDI+��ͼ��http://blog.csdn.net/cghver/article/details/6603725
哈齐天大圣 2011-07-16
  • 打赏
  • 举报
回复
Bitmap Bmp(_T("文件地址"));//JPEG也算是一种Bitmap
BitmapData bd;
Bmp->LockBits(&Rect(0, 0, Bmp->GetWidth(),Bmp->GetHeight()),ImageLockModeRead,PixelFormat24bppRGB,&bd);
byte* pBits = (byte*)bd1.Scan0;
BYTE r,g,b;
for (int y = 0; y < Bmp->GetHeight(); y++)
{
for (int x = 0; x < Bmp->GetWidth(); x++)
{
r=pBits[2];
g=pBits[1];
b=pBits[0];
//r、g、b分别记录的第一个点的R、G、B值
pBits+=3;
}
}
yinghuashihun 2011-07-05
  • 打赏
  • 举报
回复
DIB类应该是没有的,要自己封装或者是去下一个别人封装好的,读取jpeg图片常用的方法要使用别人的解码库文件,GDI+是一个不错的选择,以前也做过,但是现在不知道放哪了,还有一些资料在,应该不是很难的。
lokyu 2011-07-05
  • 打赏
  • 举报
回复
同问,帮顶

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧