zoukankan      html  css  js  c++  java
  • alphaBlend

    // Alpha = srcAlpha + dstAlpha - srcAlpha * dstAlpha / 0xFF;
    // R = (srcR * srcAlpha + dstR * dstAlpha - dstR * dstAlpha * srcAlpha / 0xFF) / Alpha
    // G = ...; see also R
    // B = ...; see also R
    static void alphaBlend(xColor* dst, const xColor* src)
    {
    // 2 => dst; 3 => src
    int a2a3 = dst->a * src->a;
    // div = dst->a*0xFF + src->a*0xFF - a2a3;
    int div = (dst->a << 8) - dst->a + (src->a << 8) - src->a - a2a3;

    int a2r2 = dst->a * dst->r;
    int a3r3 = src->a * src->r;
    dst->r = ((a2r2 << 8) - a2r2 + (a3r3 << 8) - a3r3 - dst->r * a2a3) / div;

    int a2g2 = dst->a * dst->g;
    int a3g3 = src->a * src->g;
    dst->g = ((a2g2 << 8) - a2g2 + (a3g3 << 8) - a3g3 - dst->g * a2a3) / div;

    int a2b2 = dst->a * dst->b;
    int a3b3 = src->a * src->b;
    dst->b = ((a2b2 << 8) - a2b2 + (a3b3 << 8) - a3b3 - dst->b * a2a3) / div;

    dst->a = dst->a + src->a - a2a3 / 0xFF;
    }

  • 相关阅读:
    Hive的架构和工作流程
    Hive的定义及搭建
    HBase API操作
    HBase相关概念简介
    HBase shell常用命令
    HBase的简介和搭建
    scrapy useragent
    scrapy settings
    scrapy中的request对象
    python语法
  • 原文地址:https://www.cnblogs.com/hqu-ye/p/4994968.html
Copyright © 2011-2022 走看看