欢迎访问宙启技术站
智能推送

QtGui.QImage实现图像的缩放与旋转

发布时间:2024-01-13 06:25:03

QtGui.QImage是Qt中用于处理图像的类,它提供了丰富的图像处理功能,包括缩放和旋转等操作。下面将介绍如何使用QtGui.QImage实现图像的缩放和旋转,并附上使用例子。

1. 图像缩放:

图像缩放是指改变图像的尺寸大小,可以通过QtGui.QImage的scaled()函数来实现。该函数接受两个参数,分别为目标宽度和高度,可以设置为正数或负数。

使用例子:

   from PyQt5 import QtGui

   # 加载原始图像
   original_image = QtGui.QImage("original.jpg")
   original_width = original_image.width()
   original_height = original_image.height()

   # 缩放图像
   scaled_image = original_image.scaled(original_width / 2, original_height / 2)
   scaled_image.save("scaled.jpg")
   

该例子中,首先加载了一个名为"original.jpg"的原始图像,然后调用scaled()函数将图像缩小为原始宽度和高度的一半,并保存为"scaled.jpg"。

2. 图像旋转:

图像旋转是指按照一定的角度将图像进行旋转,可以通过QtGui.QImage的transformed()函数来实现。该函数接受一个QTransform对象作为参数,可以通过调用QTransform的rotate()函数来设置旋转角度。

使用例子:

   from PyQt5 import QtGui

   # 加载原始图像
   original_image = QtGui.QImage("original.jpg")

   # 旋转图像
   rotated_image = original_image.transformed(QtGui.QTransform().rotate(45))
   rotated_image.save("rotated.jpg")
   

该例子中,首先加载了一个名为"original.jpg"的原始图像,然后调用transformed()函数将图像顺时针旋转45度,并保存为"rotated.jpg"。

总结:

QtGui.QImage提供了实现图像缩放和旋转的函数,分别是scaled()和transformed()。通过调用这些函数,可以方便地实现对图像的尺寸改变和旋转操作。上述例子为使用这些函数的具体示例,可以根据实际需求进行修改和扩展。