【发布时间】:2020-03-29 20:58:52
【问题描述】:
我正在开发一个图像处理程序,虽然程序我不断收到这些消息,但这里有一些示例,但我收到了数百个示例,以至于程序无法完全执行。
QImage::setPixel: coordinate (1043968,0) out of range
QImage::pixel: coordinate (1043968,0) out of range
我查看了其他问题,但似乎在我的代码中找不到错误,不幸的是我有大约 8 个函数,但我认为我将其缩小到可能存在问题的一个。这是一个假设旋转给定图像的功能,我认为这可能是根据我审查过的其他问题导致错误的原因,但我看不到它。如果我能得到任何帮助,我将不胜感激,或者如果这个功能很好,我如何在不发 8 个不同帖子的情况下询问其他人,谢谢!
void makeRotate(QImage originalImage){
QImage inImage = originalImage; // Copies the original image into a new QImage object.
int width = originalImage.width();
int height = originalImage.height();
//a double for loop
//first loop through the HEIGHT OF inImage (width of newImage)
for (int i = 0; i < height; i++){
//loop through the WIDTH OF inImage (height of newImage)
for (int j = 0; j < width; j++){
//set the pixel
inImage.setPixel(i , j,(new QColor (getRgbaPixel(i, j, originalImage).red()), (getRgbaPixel(i, j, originalImage).green()), (getRgbaPixel(i, j, originalImage).blue()), 255));
}
}
inImage.save("../Images/rotate.png");
}
【问题讨论】:
-
这段代码不应该编译。
setPixel需要一个 QColor 值,而不是一个 QColor 指针。new QColor是一个指针。