我换成了QImageReader
轻松QMovie
循环动画 GIF。但是,QImage
返回的 byQMovie::currentImage()
没有 alpha 通道。如果我使用QImageReader::read()
,它确实有一个 alpha 通道。该文档没有提到两者之间关于 alpha 的任何区别。使用 QMovie 时有什么方法可以保留 Alpha 通道?
QMovie movie( "ExampleAnimation.gif" );
movie.jumpToFrame( 0 );
const auto movieFrame = movie.currentImage();
DEBUG_LOG() << movieFrame.hasAlphaChannel(); // false
QImageReader reader( "ExampleAnimation.gif" );
reader.jumpToImage( 0 );
const auto readerImage = reader.read();
DEBUG_LOG() << readerImage.hasAlphaChannel(); // true