QImage читает данные пикселей с точностью

Извините за основной вопрос, я только начинаю использовать 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. В чем разница между dots а также pixels?
2. Работает ли QImage только с int пиксели? Не могу ли я прочитать субпиксельные данные для большей точности?

Чтобы прояснить мой вопрос, Ниже приведено увеличенное растровое изображение диагональной линии, и я хочу прочитать все маленькие пиксели / точки в этой строке. Это возможно?
введите описание изображения здесь

1

Решение

Что касается «точек на метр», вы, вероятно, слышали о «точках на дюйм» (или DPI). Это то же самое. Например, если у вас 20-дюймовый монитор с горизонтальным разрешением X пикселей, у вас будет Y «точек на дюйм» (или пикселей на дюйм). Если вы затем переключитесь на 40-дюймовый монитор, но с тем же горизонтальным разрешением X, то у вас есть половина число точек на дюйм, так как экран теперь в два раза шире. Таким образом, DPI (или PPI) можно увидеть как измерение размера пикселей.

И нет, я серьезно сомневаюсь, что QImage есть поддержка субпиксельных данных.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]