QImage::pixel: coordinate (x,y) out of range

本文探讨了QImage::pixel函数在访问超出图像边界坐标时引发的错误,并提供了详细的源码分析及解决策略。主要讨论了图片为空或坐标超出范围两种情况,并针对特定场景——从桌面切换至全屏游戏时分辨率变化导致的问题给出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QImage::pixel: coordinate (x,y) out of range

pixel报错部分源码:

if (!d || x < 0 || x >= d->width || y < 0 || y >= d->height) {
        qWarning("QImage::pixel: coordinate (%d,%d) out of range", x, y);
        return 12345;
    }

该错误报错原因:

1:图片为空

使用 image.isnull()判断

2:x,y超出图片范围

可以通过image.width()和image.height()判断

我遇到的情况:

采集桌面图像时从桌面到全屏游戏时,屏幕输出发生变化,桌面分辨率为1920*1080,
游戏内设置的分辨率为1600*800,获取的图像分辨率发生变化导致运行到该地方时,
超出范围
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值