查看: 1494|回复: 2

如何读取Image并正常显示

[复制链接]

该用户从未签到

发表于 2014-1-4 20:02:55 | 显示全部楼层 |阅读模式
我想读取本地一张图片,并显示出来,设定viewer窗口的大小和图片分辨率一样的,为什么显示不正常呢,图片偏到右上角了。
  1.         osg::ref_ptr<osg::Image> image=osgDB::readImageFile("my_pic.bmp");
  2.         osgViewer::Viewer viewer;

  3.         osg::ref_ptr<osg::GraphicsContext::Traits> traits = new osg::GraphicsContext::Traits;
  4.         traits->x = 30;
  5.         traits->y = 20;
  6.         traits->width = 600;
  7.         traits->height = 480;
  8.         traits->windowDecoration = true;
  9.         traits->doubleBuffer = true;
  10.         traits->sharedContext = 0;
  11.         traits->pbuffer=false;
  12.         osg::ref_ptr<osg::GraphicsContext> gc = osg::GraphicsContext::createGraphicsContext(traits.get());
  13.         viewer.getCamera()->setGraphicsContext(gc.get());
  14.         viewer.getCamera()->setViewport(0,0,600,480);
  15.         osg::ref_ptr<osg::DrawPixels> bmp=new osg::DrawPixels;

  16.         bmp->setPosition(osg::Vec3(0,0,0));
  17.         bmp->setImage(image.get());
  18.         osg::ref_ptr<osg::Geode> geode=new osg::Geode;
  19.         geode->addDrawable(bmp.get());
  20.         viewer.setSceneData(geode.get());
  21.         viewer.run();
复制代码

该用户从未签到

发表于 2014-1-18 20:33:17 | 显示全部楼层
您搞错了model坐标和窗口坐标的关系了,请先阅读一下3D图形学相关知识

该用户从未签到

发表于 2016-2-22 16:11:32 | 显示全部楼层
问题解决了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表