Извините за основной вопрос, я только начинаю использовать 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
пикселями? Разве я не могу читать субпиксельные данные для большей точности?
Чтобы прояснить мой вопрос, ниже показано увеличенное растровое изображение диагональной линии, и я хочу прочитать все маленькие пиксели / точки в этой строке. Возможно ли это?