1

很抱歉这个基本问题,我刚刚开始使用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.和有
什么区别? 2. QImage 是否仅适用于像素?我不能读取亚像素数据以获得更好的精度吗? dotspixels
int

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

4

1 回答 1

2

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

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

于 2013-11-08T06:52:45.143 回答