Qt 已知一张图片放大n倍的图中两点,求图片放大多少倍后图中两点能映射上
回答不易,求求您点赞关注哦
在 Qt 中,您可以使用QTransform该类对图像执行变换,例如缩放。以下是如何使用QTransform缩放图像和确定比例因子的示例:
#include <QImage>
#include <QTransform>
int main() {
// Load the image
QImage image("path/to/image.png");
// Scale the image by a factor of 2
QTransform transform;
transform.scale(2, 2);
image = image.transformed(transform);
// Determine the scale factor
qreal scaleFactor = transform.m11(); // This should be 2
return 0;
}
要确定图像缩放了多少次,您可以检索表示水平缩放因子m11的矩阵元素的值。QTransform在这个例子中,比例因子是 2,这意味着图像被缩放了 2 倍。
要将原始图像中两个点的位置映射到缩放后的图像,您可以使用以下map方法对这些点应用相同的变换QTransform:
QPoint point1(x1, y1);
QPoint point2(x2, y2);
point1 = transform.map(point1);
point2 = transform.map(point2);
结果点将是原始点在缩放图像中的位置。