2
我想了解爲什麼下面的代碼改變了Qt中的QImage。這並不意味着要做任何事情(但),它只是用於測試。當我運行帶有alpha的圖像上的代碼時,alpha通道會丟失並被黑色背景所取代。這段代碼爲什麼會讓QImage失去它的alpha通道?
QImage image;
image.load("image.png");
for (int y = 0; y < image.height(); y++) {
for (int x = 0; x < image.height(); x++) {
QColor c = QColor::fromRgba(image.pixel(x, y));
c.setHsv(c.hue(), c.saturation(), c.value());
image.setPixel(x, y, c.rgba());
}
}
下面是當我註釋掉image.setPixel(...)
結果:
這裏是與image.setPixel(...)
線結果:
我期望我的代碼對圖像沒有任何改變。任何想法爲什麼這樣做?