• 8905阅读
  • 6回复

如何改变保存在QImage中图片的透明度? [复制链接]

上一主题 下一主题
离线lee51525125
 
只看楼主 倒序阅读 楼主  发表于: 2008-12-09
— 本帖被 XChinux 执行加亮操作(2009-01-06) —
如题!
离线lee51525125
只看该作者 1楼 发表于: 2008-12-09
解决!
离线lazybone
只看该作者 2楼 发表于: 2008-12-09
贴上方法啊 共享么 =。=
离线lee51525125
只看该作者 3楼 发表于: 2008-12-12
有点笨。static inline QImage changeImageAlphaByDot(const QImage &img, int alpha)
{
    QRgb tmpRgb;
    // check alpha
    if (alpha < 0)
    {
        alpha = 0;
    }
    if (alpha > 255)
    {
        alpha = 255;
    }
    QImage tmpImg = img;
    if (!tmpImg.hasAlphaChannel())

    {

        tmpImg.setAlphaChannel(tmpImg);

    }
//    m_qImage[3].load("images/b1.bmp");
//    m_pqImage[0] = new QImage(m_qImage[3].bits(), m_qImage[3].width(), m_qImage[3].height(), QImage::Format_ARGB32);
//    tmpImg.
    for (short i = 0; i < tmpImg.height(); i++)

    {

        for (short j = 0; j < tmpImg.width(); j++)

        {

            tmpRgb = tmpImg.pixel(j, i);

            tmpImg.setPixel(j, i, qRgba(qRed(tmpRgb), qGreen(tmpRgb), qBlue(tmpRgb), alpha));

        }

    }

    return tmpImg;

}






不知QIMage有没有跟简单的方法
离线mumutouv

只看该作者 4楼 发表于: 2008-12-15
这样的话,速度也太慢了
离线donglipeng
只看该作者 5楼 发表于: 2009-11-24
???????
离线jiulai
只看该作者 6楼 发表于: 2009-11-25
快速回复
限100 字节
 
上一个 下一个