繁体   English   中英

QImage精确读取像素数据

[英]QImage read pixel data with precision

对不起这个基本问题,我刚刚开始使用QImage从图像文件读取像素数据。

为了理解成员函数,我尝试加载图像文件并尝试输出函数的返回值:

QString fileName = "pic1.bmp";
QImage myImage;
myImage.load( fileName );

std::cout << "width = "         << myImage.width() << std::endl;
std::cout << "height = "        << myImage.height() << std::endl;
std::cout << "dotspermeterX = " << myImage.dotsPerMeterX() << std::endl;
std::cout << "dotspermeterY = " << myImage.dotsPerMeterY() << std::endl;
QRectF myRect = myImage.rect();
std::cout << "rect = " << myRect.bottomLeft().x() << "," << myRect.bottomLeft().y()
      << "  " << myRect.topRight().x() << "," << myRect.topRight().y() << std::endl;

我得到的输出是:

width = 858
height = 608
dotspermeterX = 4724
dotspermeterY = 4724
rect = 0,608  858,0

我的问题是:
1. dotspixels什么区别?
2. QImage是否仅适用于int像素? 我不能读取亚像素数据以获得更好的精度吗?

为了澄清我的问题,以下是对角线的缩放位图图像,我想读取该行中的所有小像素/点。 这可能吗?
在此处输入图片说明

至于“每米点数”,您可能听说过“每英寸点数”(或DPI)。 一样的。 例如,如果您有一台20英寸的显示器,其水平分辨率为X像素,则将具有Y“每英寸点数”(或每英寸像素数)。 如果随后切换到40英寸显示器,但水平分辨率X相同,那么DPI的数量将减少一半 ,因为屏幕现在的宽度是原来的两倍。 因此DPI(或PPI)可以看作是像素大小的度量。

不,我严重怀疑QImage是否支持亚像素数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM