欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用opencv将QImage中指定的颜色变为透明

程序员文章站 2022-03-26 19:18:10
...

之前做项目的时候用到了将指定的颜色变为透明,

当时查了一些资料,现在在博客中记录下来,防止遗忘。


下面附上代码:

void vacDealThread::__Bmp2Png(QImage &bmp)
{
	bmp = bmp.convertToFormat(QImage::Format_RGBA8888_Premultiplied, Qt::NoFormatConversion);
	int bmpWidth = bmp.width();
	int bmpHeight = bmp.height();
    //指定的颜色
	QColor bmpBack(0, 0, 0);
	QColor bmpBackA(0, 0, 0, 0);
	for (int i = 0; i < bmpWidth; ++i)
	{
		for (int j = 0; j < bmpHeight; ++j)
		{
			if (bmp.pixelColor(i, j) == bmpBack)
			{
				bmp.setPixelColor(i, j, bmpBackA);
			}
		}
	}
}

相关标签: opencv 透明