QRect intersect_rect;
....
QImage img(intersect_rect.size(), QImage::Format_RGB888);
uchar *pImageData = (unsigned char *)img.constBits();
int img_width = intersect_rect.width();
int img_height = intersect_rect.height();// QImage每行是按照sizeof(int)对齐的,如果在RasterIO时不指定最后一个参数,即行字节数,则图像会歪斜。
int qimg_line_space = ceil((nRastercount * img_width) * 1.0 / sizeof(int)) * sizeof(int);
GDALRasterBand* pBand = m_poDataset->GetRasterBand(i);
pBand->RasterIO(GF_Read,intersect_rect.x(), intersect_rect.y(),sub_img_width, sub_img_height,pImageOffset,sub_img_width, sub_img_height,GDT_Byte,nRastercount,qimg_line_space); // 最后一个参数为0,会歪斜

原因是:QImage每行是按照sizeof(int)对齐的,如果在RasterIO时不明确指定最后一个参数,即行字节数,则图像会歪斜。

歪斜效果:

纠正后效果:

【Qt】解决GDAL直接读取数据到QImage导致图像歪斜的问题相关推荐

  1. python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...

  2. 实用技巧——Python实现从Excel读取数据并绘制成图像

    本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...

  3. GDAL\OGR读取数据示例 C#版本

    首先创建一个Windows窗体应用程序,然后拖几个按钮和文本框,如下图所示.第一行用来显示栅格数据的路径,点击浏览找到一个栅格文件,将路径显示在文本框中,然后点击读取,将图像的基本信息显示在最下方的富 ...

  4. qt有关tcpserver中读取数据时是否使用flush时的研究

    tcpserver的读取槽函数如下: recBuffer.append(tcpSocket->readAll());///>缓存接收的数据 tcpSocket->flush(); 我 ...

  5. c语言读取网页文本内容,从文本文件中读取数据

    请问如何用c语言从txt文件中读取数据? 请问如何用c语言从txt文件中读取数据? 就是用空格分开的数据,例如:12//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录 - #in ...

  6. Python实现从excel读取数据并绘制成精美图像

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Pyth ...

  7. QT中使用GDAL多线程读取遥感图像到QImage

    GDAL 是一个很强大的可以读取很多格式 的带有GIS信息的栅格型图像.前阵子项目中需要读取遥感图像,并显示到QT界面,由于遥感图像一般很大,所以采取新开一个读图线程的方式来读取,防止界面假死.下面是 ...

  8. 解决QT接受串口数据时数据更新不及时,串口数据太多导致程序界面崩溃,串口接收数据过快等问题

    1.问题背景 最近在使用上位机测试传感器接受数据是否正常,发现了很多问题,由于没有系统的学过Qt,用到什么库就学什么库,导致库中的函数很多不清晰,产生了标题中的一系列问题,经过不断的尝试,终于解决上述 ...

  9. 在QT中结构体快速从二进制文件中读取数据

    这可能是一个比较基础的问题,但由于刚开始学习c++,但是对我来说,结构体快速从二进制文件读取数据,给我解决了很大的问题,这里我把方法写出来,和有需要的人分享一下,高手看到了请多包涵. 我的二进制文件是 ...

最新文章

  1. CSS3 稳固而知新: 居中
  2. 对linux文件权限的理解,理解linux文件权限2
  3. 怎么查看服务器是多少位系统,查看服务器是多少位的
  4. 赋值后页面不渲染_第七节:框架搭建之页面静态化的剖析
  5. 《中国人工智能学会通讯》——4.32 数据包丢失
  6. 95-290-360-源码-内存管理-Buffer-ByteBufferPool简介
  7. 深度学习的推荐模型(DLRMs):设计孪生掩码层高效学习维度自适应的Embedding...
  8. 多线程android代码,android入门 — 多线程(一)(示例代码)
  9. 技术简报 2014-1-27
  10. js一行四个 超过自动换行_干货!零基础学JavaScript要掌握的四个基本常识
  11. Python进行停用词表去重
  12. 数据库原理——图书馆管理系统
  13. JAVA解题【We Are A Team】
  14. 测试系统工程师TSE的四项基本技能
  15. Python-OpenCV 的 remap函数
  16. c语言编程实践题,C语言实践编程题
  17. 用Lua语言编写Wireshark dissector插件
  18. “野蛮人”姚振华是如何炼成的?
  19. HDU 2838 Cow Sorting(双树状数组+求逆序数)
  20. 【EtherCAT】基础概念

热门文章

  1. oracle rac理解和用途扩展
  2. JAVA学习笔记——JAVA基础语法之精华
  3. 解决input设置背景后,在ie7下浏览内容过长背景跟着滚动
  4. 家乡的楼房正在往高层发展
  5. [小技巧][JAVA][转换]List, Integer[], int[]的相互转换
  6. python中代理模式分为几种_Python设计模式之代理模式实例详解
  7. mysql 获取昨天凌晨_MySQL慢日志体系建设
  8. vs生成qt moc文件
  9. V210 系统时间设置
  10. CMake PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR区别