OpenGL能读取显示Jpeg、tiff格式等图像吗?

hipposoft 2008-06-04 09:17:52
现在在Vc下不用OPenGL库函数完全实现了读取任何一种格式的图像文件。
老板说要用OpenGL读取,并且显示jpeg,tiff等
感到很郁闷。
OpenGL显示的 图像与直接用Vc显示的图像有区别吗?都是显示,不需要做漫游。我认为没有必要非要用OpenGl显示位图,但是没法说服老板。
请各位大虾指点。
...全文
909 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
river80 2008-07-05
  • 打赏
  • 举报
回复
用opengl加载位图像素信息,读取jpg和tiff可以使用tifflib库,或是cximage来得到像素信息.
老板给你付薪水,你完成任务就是了.
opengl是硬件加速,所以显示有可能会比gdi快一些.
杂鱼一尾 2008-07-04
  • 打赏
  • 举报
回复
图象转换 在GDI+里面很简单。示例代码如下:

GUID pageGuid = FrameDimensionPage;
CLSID encoderClsid;
Image multi(L"Multiframe.tif");

// Get the CLSID of the PNG encoder.
GetEncoderClsid(L"image/png", &encoderClsid);

// Display and save the first page (index 0).
multi.SelectActiveFrame(&pageGuid, 0);
graphics.DrawImage(&multi, 10, 10);
multi.Save(L"Page0.png", &encoderClsid, NULL);

// Display and save the second page.
multi.SelectActiveFrame(&pageGuid, 1);
graphics.DrawImage(&multi, 200, 10);
multi.Save(L"Page1.png", &encoderClsid, NULL);

// Display and save the third page.
multi.SelectActiveFrame(&pageGuid, 2);
graphics.DrawImage(&multi, 10, 150);
multi.Save(L"Page2.png", &encoderClsid, NULL);

// Display and save the fourth page.
multi.SelectActiveFrame(&pageGuid, 3);
graphics.DrawImage(&multi, 200, 150);
multi.Save(L"Page3.png", &encoderClsid, NULL);

在vs2005下编译很简单。如果你想找个轻量级的编译器,可以下载集成sp6和gdi+的vc6.0中文版:
http://download255.mediafire.com/loljmombrmjg/zlnecmbmzvm/Visual+C%2B%2B+6.0%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E5%8A%A0%E5%BC%BA%E7%89%88.rar
hipposoft 2008-06-05
  • 打赏
  • 举报
回复
有没有人做过这方面的尝试呢??
hipposoft 2008-06-05
  • 打赏
  • 举报
回复
楼上的高兄说得有道理.
但要把JPeg或tiff用OpenGl显示看来麻烦得很
自己研究jpeg怎么转换成bmp,这也不是个好干的活呀,痛苦中.......
量子 2008-06-05
  • 打赏
  • 举报
回复
逐个画点的方式显示图像不免太麻烦了

建议楼主找一个开源的jpeg解码,把jpeg解码代码研究研究,将图片解码成位图,用OpenGL的纹理贴图显示就可以了
OpenGL没有提供现成的函数
hipposoft 2008-06-04
  • 打赏
  • 举报
回复
谢谢楼上哥们
不清楚OpenGl中读Jpeg,tiff文件显示。没看到这方面的东西。
Cacar 2008-06-04
  • 打赏
  • 举报
回复
一样的,你vc上用gdi能画点,在opengl的表面上同样能画点,vc界面用的gdi,opengl则是自己的一套东西来显示。不管什么格式,读出来哪个点什么颜色画在屏幕上就Ok了

19,469

社区成员

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

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