精华内容
下载资源
问答
  • 跟随鼠标的半透明图片.rar跟随鼠标的半透明图片.rar跟随鼠标的半透明图片.rar跟随鼠标的半透明图片.rar跟随鼠标的半透明图片.rar跟随鼠标的半透明图片.rar
  • 1、它可以使一副图片在所有窗口的前面并半透明,而且最奇妙的是--鼠标操作能穿透该图片,直接操作下面的应用。 2、绿色软件,无需安装,解压后直接双击即可运行。 3、穿透模式 = 永在顶层 + 半透明(不透明度小于100...
  • 半透明图片的显示.rar半透明图片的显示.rar半透明图片的显示.rar半透明图片的显示.rar半透明图片的显示.rar半透明图片的显示.rar
  • 摘要:JAVA源码,综合应用,半透明图片 Java半透明图片的实现源代码,实现步骤:图像文件名数组,缓冲区图像,图像合成的alpha赋初值,根据Image对象创建一个缓冲区图像、获取Image对象、实例化媒体加载器、增加待加载...
  • MFC贴图之半透明贴图

    热门讨论 2010-10-18 16:29:17
    用MFC写的一个半透明贴图的例子,想学习如何贴图的可以参考一下。应该对你有所帮助把!
  • 文中在FPGA上采用纯verilog逻辑实现了Alpha半透明图像叠加算法,即验证了算法的正确性,同时针对FPGA不善于处理浮点运算的弊端,采用了移位操作的方法,进一步提高了运算速度,实现了Alpha透明系数可调,半透明图像...
  • OPENGL 半透明贴图

    千次阅读 2018-08-30 11:59:20
    半透明贴图的关键是贴图要包含Alpha通道,即贴图像素格式为RGBA格式。但普通BMP图像是没有Alpha通道的,所以需将像素格式进行转换。也很简单,就是在 RGB数据后再加一个字节,将3字节变为4字节。 /****************...

    半透明贴图的关键是贴图要包含Alpha通道,即贴图像素格式为RGBA格式。但普通BMP图像是没有Alpha通道的,所以需将像素格式进行转换。也很简单,就是在 RGB数据后再加一个字节,将3字节变为4字节。

    /******************************************************************************/
    //读取一个BMP文件作为纹理。如果失败,返回0,如果成功,返回1

    //alpha值取0~255,0 为完全透明。255为不透明
    /******************************************************************************/
    bool Draw::LoadTexture(LPTSTR szFileName, GLuint &TextureId,  GLint alpha)
    {
        HBITMAP hBMP;
        BITMAP BMP;
        GLint  Index, Pixels;
        GLubyte* PixelsData = NULL;

        //生成新的纹理编号
        glGenTextures(1, &TextureId);    
        if(TextureId == 0 ) return false;

       hBMP=(HBITMAP)LoadImage(GetModuleHandle(NULL), szFileName, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_LOADFROMFILE );
        if (!hBMP)  return false;                                                  // 装载图像

        GetObject(hBMP, sizeof(BMP), &BMP);                                        // 填充数据

        Pixels = BMP.bmWidth * BMP.bmHeight;                                       //像素总数
        PixelsData = (GLubyte*)malloc(Pixels * 4);                                 //申请内存
        if(PixelsData == NULL)  return false; 

        //复制数据
        for(Index = 0; Index < Pixels; Index++)
        {
            memcpy(PixelsData + (Index * 4), (GLubyte*)BMP.bmBits + (Index * 3), 3);
            PixelsData[(Index * 4) + 3] = alpha;                                   //加入Alpha通道
        }
        
        glPixelStorei(GL_UNPACK_ALIGNMENT, 4);                                       

        //绑定纹理号
        glBindTexture(GL_TEXTURE_2D, TextureId);

        //设置滤镜
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);            //缩小滤镜为线性
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);            //放大滤镜为线性
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);                //在s方向上的缠绕方式
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);                //在t方向上的缠绕方式

        //生成纹理
       glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, BMP.bmWidth, BMP.bmHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, PixelsData); 

        free(PixelsData);                                                            //释放内存
        DeleteObject(hBMP);                                                          //释放图像

        return true;
    }

    这样得到的贴图就是有Alpha通道的了。贴图使用方法如下:(以画球体为例)

    GLfloat ConstColor[4] = {0.0f, 0.0f, 0.0f, 1.0f};          //颜色控制

    UINT  Texture;

     

    //初始化时装载贴图

    void Init()

    {

      .......

    //创建贴图

       char szOptionPath[MAX_PATH];
        strcpy_s(szOptionPath, _T("\\map\\stone1.bmp"));
        LoadTexture(szOptionPath, Texture, 128);

      ......

    };
     

    /******************************************************************************/
    // 绘制球体 Balldx = 球编号
    /******************************************************************************/
    void Draw::DrawBall(int Balldx )

       int   nIndex;
        float *pfAngel;

        //座标复位
        glLoadIdentity();

        glPushAttrib(GL_CURRENT_BIT);
        glPushMatrix();               //把矩阵压入堆栈

        //确定球的位置

       if(Balldx == 1)
          glTranslatef(-0.5f, 0.0f, -1.0f); 

      else

          glTranslatef(0.5f, 0.0f, -1.0f); 

        // 绘制球体, 第1、2、3个参数分别表示半径,经度线数、纬度线数
        glDepthMask(GL_FALSE);                                                                                             //关掉深度测试
        glEnable(GL_BLEND);                                                                                                   //开混合模式贴图
        glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);                             //设置混合方式

        glEnable(GL_TEXTURE_2D);
        glBindTexture(GL_TEXTURE_2D, Texture);                                    //使用纹理

        glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND);                                 //贴图模式为混合
        if(Balldx == 1)
        {

           //红色
            ConstColor[0] = 1.0f;  
            ConstColor[1] = 0.0f;
            ConstColor[2] = 0.0f;  
        }
        else
        {

           //蓝色
            ConstColor[0] = 0.0f;  
            ConstColor[1] = 0.0f;
            ConstColor[2] = 1.0f;
        }
        ConstColor[3] = 0.5f;
        glTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_COLOR, ConstColor);

        //   绘制

        gluQuadricTexture(QuadricObj, GL_TRUE);
        gluSphere(QuadricObj, 2.5f, 50, 50);    //实体    

        glDisable(GL_TEXTURE_2D);
        glDisable(GL_BLEND);
        glDepthMask(GL_TRUE);    

        glPopMatrix();   
        glPopAttrib();

    }

    效果演示:

    展开全文
  • QT半透明图片叠加显示

    千次阅读 2018-05-29 16:48:25
    需求描述:两张图片,一张作为背景,另一张...2、用QPixmap对象载入半透明图片,或者用paint代码在QPixmap自己画半透明;把把QPixmap放入QLabel中显示;3、把这两个label重叠,即可看到效果。注意:1、自己在Q...

    需求描述:两张图片,一张作为背景,另一张半透明,作为前景。透过前景可以看到背景图

    1、用QPixmap对象载入背景图片,或者用paint代码在QPixmap自己画图;把QPixmap放入QLabel中显示;

    2、用QPixmap对象载入半透明图片,或者用paint代码在QPixmap自己画半透明的图;把把QPixmap放入QLabel中显示;

    3、把这两个label重叠,即可看到效果。

    注意:

    1、自己在QPixmap绘制半透明图片时,首先要使用fill函数将其整张Pixmap填充为透明。根据manual的要求,在paint有效时,fill函数是无效的,所以,要想使用fill,要么别在paint有效期间,要么执行paint.end()之后再fill。见示例代码

    2、在本例中,label作为Pixmap的容器,label的如果设置了背景色,而Pixmap又是半透明时,透过Pixmap可以看到label的背景色(实质是Pixmap和label背景色的叠加)

    使用样式表设置label半透明背景的代码:

    border:2px solid;/*黑色实线边框,2px宽*/
    border-color: black;
    color:blue;/*蓝色文字*/
    background-color: rgba(255, 0, 0, 100);/*红色半透明*/

    代码:

    #include <QPainter>
    #include <QPen>
    #include <QFile>
    #include <QMessageBox>
    #include <qDebug>
    #include <QColor>
    #include <QBrush>
    
    #define WIDTH 300
    #define HEIGHT 300
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        pPixmap = new QPixmap(WIDTH,HEIGHT);
        //pPixmapFront = new QPixmap("front.png");//加载半透明图片
        pPixmapFront = new QPixmap(WIDTH,HEIGHT);
        //pPixmapFront->fill(Qt::transparent);//填充为透明
    
        ui->label_back->setScaledContents(true);//内容自适应label的大小,这样调整lable的大小就可以调整图片的大小
        ui->label_front->setScaledContents(true);//内容自适应label的大小,这样调整lable的大小就可以调整图片的大小
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_pushButton_clicked()
    {
        QPainter painter(pPixmap);             // 创建QPainter对象
        QPoint point(100,100);//x, y
        QPen pen;
    
        painter.setBrush(Qt::cyan);
        painter.setPen(Qt::red);
        painter.drawRect(0, 0, WIDTH, HEIGHT);//红色边框,青色填充
        painter.setBrush(Qt::NoBrush);
        painter.setPen(Qt::red);
        painter.drawRect(0, 0, WIDTH/2, HEIGHT/2);//红色边框,无填充
    
        pen.setColor(Qt::red);
        pen.setWidth(20);
        painter.setPen(pen);
        painter.drawPoint(point);//用粗笔画点
    
        ui->label_back->setPixmap(*pPixmap);
    }
    
    void MainWindow::on_pushButton_paintFront_clicked()
    {
        QPainter painter(pPixmapFront);             // 创建QPainter对象
        QColor color;
        QPen pen;
    
        painter.end();//使fill函数生效
        pPixmapFront->fill(Qt::transparent);//透明填充Pixmap,清空pixmap
        painter.begin(pPixmapFront);
    
        color.setRgb(0, 0, 255, 100);//蓝色半透明
        painter.setPen(color);//设置笔和笔的颜色
        painter.setBrush(color);//设置刷子和刷子颜色
        painter.drawRect(0, 0, WIDTH, HEIGHT/2);//画蓝色半透明矩形
    
        pen.setColor(Qt::green);
        pen.setWidth(3);
        painter.setPen(pen);//设置笔和笔的颜色
        painter.drawLine(0,0,WIDTH, HEIGHT);//画一条绿色斜线col1,row1,col2,row2
    
        ui->label_front->setPixmap(*pPixmapFront);
    }

    展开全文
  • ps-半透明图片抠图

    千次阅读 2017-12-11 17:04:13
    1、下第一张为原,第二张为直接魔棒抠图下来的,第三张为半透明图片抠图的成果。 2、下面来说一下第三张。 3、首先,在通道窗口对比一下红绿蓝那个图层明暗对比最强,本图片选择蓝通道,然后复制一个蓝通道。 ...

    下面是本人自学关于半透明图片的抠图内容,与大家共勉:

    1、下图第一张为原图,第二张为直接魔棒抠图下来的,第三张为半透明图片抠图的成果。

    2、下面来说一下第三张。

    3、首先,在通道窗口对比一下红绿蓝那个图层明暗对比最强,本图片选择蓝通道,然后复制一个蓝通道。

    4、选择画笔工具,前景色调成白色,对黑色进行涂抹(半透明的部分不需要涂抹)。

    5、然后点击“将通道作为选区载入”或者按缩略图住“ctrl”单击刚复制出来图层的缩览图,再单击rgb通道,再回到图层窗口。

    6、“ctrl”+“j”复制出来,半透明图片抠图完成,即第三张。

    注:ps通道窗口,载入选区时,默认原则是:黑色不载入,白色保留,灰色为半透明。

    7、如果想对图片进一步调色处理,可以使用“自然饱和度”(皮肤过暗时)、‘’照片滤镜‘’(加温或者冷却滤镜)、“阴影/高光”、“可选颜色”进行调色。

    展开全文
  • Java半透明图片的实现源代码,实现步骤:图像文件名数组,缓冲区图像,图像合成的alpha赋初值,根据Image对象创建一个缓冲区图像、获取Image对象、实例化媒体加载器、增加待加载Image对象、创建缓冲区图像、创建缓冲...
  • 窗体设置为背景透明时,半透明图案无法正常显示,要么变成全透明要么不透明。这个能解决吗? 例如下面窗体中,属性“TransparencyKey”和“BackColor”都设置为白色,这样可以窗体透明。然后“BackgroundImage”...
  • 当提交数据的时候,页面处于加载loading等待状态,这里就需要一个loading半透明图片,可以去https://blog.csdn.net/shawemou/article/details/81095532具体查看如何实现loading页面的
  • js 特效 html 特效 鼠标打开半透明图片 js 特效 html 特效 鼠标打开半透明图片
  • MFC 绘制半透明图片

    2015-08-26 20:45:17
    用MFC绘制半透明图片其实根本没有必要,因为有美工;哈哈,当然了我们自己练手的时候没有美工,自己也不会ps,只能用代码了 void 类名::DrawClearImage(Graphics *pGraphics) { //注意0.5表示所需要的透明度,在0...

    用MFC绘制半透明图片其实根本没有必要,因为有美工;哈哈,当然了我们自己练手的时候没有美工,自己也不会ps,只能用代码了

    void  类名::DrawClearImage(Graphics *pGraphics)
    {

    //注意0.5表示所需要的透明度,在0~1之间,越小,越透明

    ColorMatrix colorMatrix = 
    {1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
    0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
    0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
    0.0f, 0.0f, 0.0f, 0.5f, 0.0f,
    0.0f, 0.0f, 0.0f, 0.0f, 1.0f};


    ImageAttributes imageAtt;
    imageAtt.SetColorMatrix(&colorMatrix, ColorMatrixFlagsDefault, ColorAdjustTypeBitmap);
    //注意
    pGraphics->DrawImage(Image对象, Rect区域, 0, 0, m_pImgMove->GetWidth(), m_pImgMove->GetHeight(), UnitPixel, &imageAtt);
    }

    代码就当娱乐了


    展开全文
  • python 的pilow在将半透明图片复合到正常图片时,需要用到alpha_composite函数 两张图片都必须保留 alpha 通道,即 mode 为 RGBA,alpha 通道是保存图片透明度的通道,如果传入图片为png, 其本身会带有alpha 通道...
  • opencv 绘制半透明图形

    2015-06-26 00:25:00
    opencv绘制半透明图形 转载▼ 标 初学OpenCV,想绘制半透明矩形,却发现没有GDI+那么简单,在网上搜寻了一番任未得其解,偶然翻到一个对两张图片进行像素值加权叠加的函数...
  • cocos creator 设置开启canvas 透明后 半透明图片 不正常的 官方解决办法 必须用 one,one minus src alpha,否则 web 端的贴图渲染时会莫名其妙和 canvas 背后的 dom 背景混合,这个目前没有办法解决,绕过的方式...
  • C#叠加合并半透明图像的两种实现

    千次阅读 2019-02-26 15:54:39
    C#叠加合并半透明图像说明方案一:系统自带 GDI+ 实现方案二:使用 EmguCV 实现总结 说明 OpenCV作为一个图像库,竟然没有提供一个直接的函数去做这件事情。 这里使用系统自带的GDI和EmguCV(C#封装的OpenCV)分别...
  • 半透明图片通过adjust滤镜处理后,预览到的图片与实际保存到的图片不一致,边缘部分有杂色,调试时加载图片查看也是正常的,保存或直接canvas画图显示就出现异常杂色 ,求大师兄解惑。</p><p...
  • 如果我尝试绘制具有相同半透明颜色的线条,它可以完美地工作 .我有这个代码:lBitmap As New Bitmap(32, 32, PixelFormat.Format32bppArgb)lGraphic As Graphics = Graphics.FromImage(lBitmap)lGraphic.Smoot...
  • IE6支持png半透明图片

    2014-11-18 09:22:00
    IE6支持png半透明图片 使用插件IE PNG Fix 把iepngfix.htc和blank.gif复制到网站相应的目录下(目录由自己决定,需要将iepngfix.htc里的blank.gif设置成正确的路径) 然后要在页面的头部信息中...
  • Alpha 通道是一个 8 位的灰度通道,该通道采用 2^8 = 256 级灰度来记录图像中的透明度信息,定义全透明、半透明和不透明区域,其中黑色表示全透明,白色表示不透明,灰色表示半透明。  Alpha 半透明图像叠加算法...
  • [JavaME]手机上如何绘制半透明图片 windcao提供了一个CreateAlphaImage方法 Windcao提供的CreateAlphaImage的意思是这样的“如果需要半透明可以先在image上画,然后把这个Image弄成半透明的。最后将Image绘到...
  • 之前做过一个截图工具,通过winform做的遮罩层,这段时间想要通过绘制遮罩层的方法来取代...在桌面绘制半透明图形。 2.清楚桌面绘制的内容。 /// <summary> /// 获取桌面的句柄 /// </summary> ...
  • 制作PNG透明图片,制作PNG浅蓝色半透明图片?打开photoshop,用套索工具或者选取工具选择要透明的位置,然后点击delete键即可;新建一张蓝色的图片,然后在右下角图层面板上将不透明度调低(如果灰色不能点击,双击...
  • 针对LOGO的半透明图片的显示

    千次阅读 2013-02-06 17:33:10
    向往常一样插入图片,然后用IE的特有属性_display:none;将图片隐藏,但在其它浏览器就隐藏不...针对LOGO的半透明图片的显示 #logo{width:400px;height:313px;position:relative;float:left;} #logo img{margin:27p
  • 使用中发现CImage对半透明图片的绘制,是有问题的,透的部分总是显示一些很奇怪的内容(颜色很突兀)。 后来经过仔细追查,终于找到了原因。 原因是这样的,CImage的默认绘制算法,对于目标点的计算算法是这样的...
  • 正如另一个提到的答案,最简单的方法可能是简单地使用具有透明背景的PNG图像(您可以使用像GIMP这样的图像编辑器创建这些图像).或者,如果您仅限于具有纯色背景的PNG图像,以下是如何将PNG中的给定颜色(例如白色)更改为...
  • opencv 绘制半透明图形

    千次阅读 2014-01-11 23:10:48
    初学OpenCV,想绘制半透明矩形,却发现没有GDI+那么简单,在网上搜寻了一番任未得其解,偶然翻到一个对两张图片进行像素值加权叠加的函数cvAddWeighted,于是参照例程加以改造写了一个绘制半透明矩形的封装方法: ...
  • 以下说明的三个API均是应用于...半透明窗口 com.sun.awt.AWTUtilities.setWindowOpacity(Window window,float opacity); 设定窗口的透明度.包括窗口中的组件. window:指定窗口对象. opacity:指定透明度.flo

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,571
精华内容 1,828
关键字:

半透明图