半透明原理:
  假设LCD是256色的。颜色格式为332(RGB)
  显存中的每一个字节的数据对应一个象素点。
  在数据写入显存之前,读取相应相素点值,然后与新的数据按一定的规则混合之后,再写入相应像素点的显存。

  这样主要问题关键是混合算法。
  混合算法目前在游戏上常用到的算法是AlphaBlend。计算公式如下
  假设一幅图象是A,另一幅透明的图象是B,那么透过B去看A,看上去的图象C就是B和A的混合图象,设B图象的透明度为alpha(取值为0-1,1为完全透明,0为完全不透明),Alpha混合公式如下:
  R(C)=(1-alpha)*R(B)+alpha*R(A)
  G(C)=(1-alpha)*G(B)+alpha*G(A)
  B(C)=(1-alpha)*B(B)+alpha*B(A)
  R(x)、G(x)、B(x)分别指颜色x的RGB分量原色值。从上面的公式可以知道,Alpha其实是一个决定混合透明度的数值。应用Alpha混合技术,可以实现游戏中的许多特效,比如火光、烟雾、阴影、动态光源等半透明效果。

uC/GUI系统分为好几个层面。简单地可以归结为:
  1、硬件驱动层
  2、基本2D图形库
  3、窗体
层次越高,涉及的内容越多,修改的工作量就越大。 如果想修改最少的代码实现半透明功能,最好在硬件驱动层找切入口。
在硬件驱动层中有个宏定义 LCD_WRITE_MEM(Off,data) *((U8*)(DC+(((U32)(Off)))))=(data),从文档可以看到该宏定义的功能就是向显存写入像素点的值。
流程如下:
  a、读取相应象素点值
  b、与新的象素点值按照混合算法转换。
  c、将转换结果写入显存对应位置。
/设置透明度为0,完全不透明,先执行清屏。
  GUI_SetBkColor(GUI_WHITE);
  GUI_SetColor(GUI_WHITE);
  GUI_Clear();
  /填充一个方框
  GUI_SetColor(GUI_RED);
  GUI_FillRect(0,0,80,30);
  *****这里设置透明度为80透明之后再执行
  GUI_SetColor(GUI_GREEN);
  GUI_FillRect(50,5,200,30);


GUI_CONTEXT

typedef struct {
/* Variables in LCD module */
LCD_COLORINDEX_UNION LCD;
LCD_RECT ClipRect;
U8 DrawMode;
U8 SelLayer;
U8 TextStyle;
U8 TransPara;
/* Variables in GL module */
GUI_RECT* pClipRect_HL; /* High level clip rectangle ... Speed optimization so drawing routines can optimize */
U8 PenSize;
U8 PenShape;
U8 LineStyle;
U8 FillStyle;
/* Variables in GUICHAR module */
const GUI_FONT GUI_UNI_PTR * pAFont;
const GUI_UC_ENC_APILIST * pUC_API; /* Unicode encoding API */
I16P LBorder;
I16P DispPosX, DispPosY;
I16P DrawPosX, DrawPosY;
I16P TextMode, TextAlign;
GUI_COLOR Color, BkColor; /* Required only when changing devices and for speed opt (caching) */
/* Variables in WM module */
#if GUI_WINSUPPORT
const GUI_RECT* WM__pUserClipRect;
GUI_HWIN hAWin;
int xOff, yOff;
#endif
/* Variables in MEMDEV module (with memory devices only) */
#if GUI_SUPPORT_DEVICES
const tLCDDEV_APIList* pDeviceAPI; /* function pointers only */
GUI_HMEM hDevData;
GUI_RECT ClipRectPrev;
#endif
/* Variables in Anitaliasing module */
#if GUI_SUPPORT_AA
const tLCD_HL_APIList* pLCD_HL; /* Required to reroute drawing (HLine & Pixel) to the AA module */
U8 AA_Factor;
U8 AA_HiResEnable;
#endif
} GUI_CONTEXT; 包含了整个系统作图的最基本信息。而且这个结构体所声明的变量GUI_Context也是硬件作图层(硬件驱动层)所唯一依赖的变量。
在结构体中发现,需要增加透明度信息。
  于是在结构体中增加一条:U8 BlendPara;/混合算法参数Alpha;
  现在来一个情景分析。
  1、在画图前设置该变量值。0---100之间。
  2、在LCD_WRITE_MEM时使用它。这样半透明和透明效果就都实现了。
  用2D图形库作图测试确实能实现半透明效果。
  再测试窗体时你会发现一个问题。在基于WM_Window的所有控件上使作半透明效果会出现问题:
  在反复刷新(即反复产生WM_PAINT)消息时,该窗体的颜色一直在变量,而且由浅及深或由深及浅反复变化

实现AlphaBlend混合的代码.
主要的算法是:
r = (BYTE)((((rForeground - rBackground)*delta) >> ALPHA) + rBackground);
g = (BYTE)((((gForeground - gBackground)*delta) >> ALPHA) + gBackground);
b = (BYTE)((((bForeground - bBackground)*delta) >> ALPHA) + bBackground);


下面是具体实现。(代码可成功运行)

// 一共2^8 + 1个等级,0为透明,256为不透明,中间的值为半透明
#define ALPHA 8
#define FRAMEPENWIDTH 2 // 文本框的宽度
#define FRAMECOLOR RGB(192,192,192) // 文本框的颜色
#define SHADOWWIDTH 1 // 阴影的宽度(为了有立体感)
#define SHADOWCOLOR RGB(0,0,0) // 阴影的颜色
#define TEXTCOLOR RGB(0,0,192) // 文本的颜色
// 文本框的宽度缺省100像素,宽度、高度可以动态调整
#define DEFAULTOUTPUTWIDTH 100

VOID ShowTransparentText(
HWND hDstWnd, // 在那个窗口透明显示
DWORD Alpha, // Alpha通道值(0 < Alpha < 256)
COLORREF crForeground, // 文本框底色
LPCTSTR lpszTxt, // 文本
DWORD dwDelayTime // 显示多长时间
)
{
COLORREF crBackground;
BYTE r, g, b;
BYTE rBackground, gBackground, bBackground;
BYTE rForeground, gForeground, bForeground;
INT x, y;
INT nDstPosX, nDstPosY;
INT nWidth, nHeight;
HDC hWorkDC, hSaveDC, hDstDC;
HANDLE hBitmap, hBitmap2;
HFONT hf, hfSave;
LOGFONT lf;
RECT rect;
DWORD delta;

//创建文本框字体
lf.lfHeight = 14;
lf.lfWidth = 0;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = FW_NORMAL; //FW_BOLD
lf.lfItalic = FALSE;
lf.lfUnderline = FALSE;
lf.lfStrikeOut = 0;
lf.lfCharSet = ANSI_CHARSET;
lf.lfOutPrecision = OUT_DEFAULT_PRECIS;
lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
lf.lfQuality = DEFAULT_QUALITY;
lf.lfPitchAndFamily = DEFAULT_PITCH | FF_SWISS;
_tcscpy(lf.lfFaceName, TEXT("Tahoma"));

VERIFY(hf = CreateFontIndirect(&lf));

hDstDC = GetDC(hDstWnd);

hWorkDC = CreateCompatibleDC(hDstDC);

hfSave = (HFONT)SelectObject(hWorkDC, hf);
nWidth = DEFAULTOUTPUTWIDTH;
nHeight = DEFAULTOUTPUTWIDTH;
SetRect(&rect, 0,0,nWidth,nHeight);
DrawText(hWorkDC, lpszTxt, lstrlen(lpszTxt), &rect, DT_CALCRECT|DT_LEFT|DT_WORDBREAK);

// 自画立体边框
nWidth = rect.right - rect.left + (FRAMEPENWIDTH + SHADOWWIDTH) * 2;
nHeight = rect.bottom - rect.top + (FRAMEPENWIDTH + SHADOWWIDTH) * 2;

hBitmap = CreateCompatibleBitmap(hDstDC, nWidth, nHeight);
SelectObject(hWorkDC, hBitmap);

hSaveDC = CreateCompatibleDC(hDstDC);
hBitmap2 = CreateCompatibleBitmap(hDstDC, nWidth, nHeight);
SelectObject(hSaveDC, hBitmap2);


GetClientRect(hDstWnd, &rect);
nDstPosX = rect.left + (rect.right - rect.left - nWidth)/2;
nDstPosY = rect.top + (rect.bottom - rect.top - nHeight)/2;
BitBlt(hWorkDC, 0, 0, nWidth, nHeight, hDstDC, nDstPosX, nDstPosY, SRCCOPY);
BitBlt(hSaveDC, 0, 0, nWidth, nHeight, hDstDC, nDstPosX, nDstPosY, SRCCOPY);

delta = Alpha%(1<<ALPHA); // 假若Alpha的值操作256,取模

// 因为0 , 256 对256取模都为0, 但是0为透明,256为不透明
if((0 == delta) && (Alpha == (1<<ALPHA)))
{
delta = Alpha;
}

rForeground = GetRValue(crForeground);
gForeground = GetGValue(crForeground);
bForeground = GetBValue(crForeground);

for(y = SHADOWWIDTH + SHADOWWIDTH; y< (nHeight - (SHADOWWIDTH + SHADOWWIDTH)); y++)
{
for(x = SHADOWWIDTH + SHADOWWIDTH; x < (nWidth - (SHADOWWIDTH + SHADOWWIDTH)); x++)
{
crBackground = GetPixel(hWorkDC, x, y);

rBackground = GetRValue(crBackground);
gBackground = GetGValue(crBackground);
bBackground = GetBValue(crBackground);

r = (BYTE)((((rForeground - rBackground)*delta) >> ALPHA) + rBackground);
g = (BYTE)((((gForeground - gBackground)*delta) >> ALPHA) + gBackground);
b = (BYTE)((((bForeground - bBackground)*delta) >> ALPHA) + bBackground);

SetPixel(hWorkDC, x, y, RGB(r,g,b));
}
}

// 由于Smartphone不提供FrameRect函数,所以自行实现该功能。
// 画出外框
for(y = 0; y< FRAMEPENWIDTH; y++)
{
for(x = 0; x < nWidth; x++)
{
SetPixel(hWorkDC, x, y, FRAMECOLOR);
SetPixel(hWorkDC, x, nHeight - y - 1, FRAMECOLOR);
}
}

for(x = 0; x< FRAMEPENWIDTH; x++)
{
for(y = 0; y < nHeight; y++)
{
SetPixel(hWorkDC, x, y, FRAMECOLOR);
SetPixel(hWorkDC, nWidth - x -1, y, FRAMECOLOR);
}
}

// 画出阴影框
for(y = FRAMEPENWIDTH; y< (FRAMEPENWIDTH+SHADOWWIDTH); y++)
{
for(x = FRAMEPENWIDTH; x < (nWidth - FRAMEPENWIDTH); x++)
{
SetPixel(hWorkDC, x, y, SHADOWCOLOR);
SetPixel(hWorkDC, x, nHeight - y - 1, SHADOWCOLOR);
}
}

for(x = FRAMEPENWIDTH; x< (FRAMEPENWIDTH+SHADOWWIDTH); x++)
{
for(y = FRAMEPENWIDTH; y < (nHeight - FRAMEPENWIDTH); y++)
{
SetPixel(hWorkDC, x, y, SHADOWCOLOR);
SetPixel(hWorkDC, nWidth - x -1, y, SHADOWCOLOR);
}
}

// 输出透明字
SetRect(&rect, (FRAMEPENWIDTH+SHADOWWIDTH), (FRAMEPENWIDTH+SHADOWWIDTH), nWidth - (FRAMEPENWIDTH+SHADOWWIDTH), nHeight - (FRAMEPENWIDTH+SHADOWWIDTH));
SetBkMode(hWorkDC, TRANSPARENT);
SetTextColor(hWorkDC, TEXTCOLOR);
DrawText(hWorkDC, lpszTxt, lstrlen(lpszTxt), &rect, DT_LEFT|DT_WORDBREAK);
BitBlt(hDstDC, nDstPosX, nDstPosY, nWidth, nHeight, hWorkDC, 0, 0, SRCCOPY);
DeleteObject(SelectObject(hWorkDC, hfSave));
DeleteObject(hBitmap);
DeleteDC(hWorkDC);

// 延迟制定时间,最好用WaitForSingleObject, 这样用户既可以终止等待,SetEvent即可
// 或者超时,即相当于Sleep功能
Sleep(dwDelayTime);

// 恢复原来的背景
BitBlt(hDstDC, nDstPosX, nDstPosY, nWidth, nHeight, hSaveDC, 0, 0, SRCCOPY);
DeleteObject(hBitmap2);
DeleteDC(hSaveDC);

ReleaseDC(hDstWnd, hDstDC);
}


//wince半透明效果的实现
使用windows ce(5.0以上的版本)的一个api AlphaBlend,用法和BitBlt差不多:
BLENDFUNCTION bf;
bf.AlphaFormat=0;
bf.BlendFlags=0;
bf.BlendOp=AC_SRC_OVER;
bf.SourceConstantAlpha=100;//透明度0-255
AlphaBlend(hBackDC,0,70,73,20,hMaskDC,0,0,73,20,bf);
可以在WindowsCE里用
#include <wingdi.h>
//还要在Project -- setting -- link 里连接上msimg32.lib

////VC用AlphaBlend实现半透明位图
Requirements:
Windows NT/2000/XP: Included in Windows 2000 and later.
Windows 95/98/Me: Included in Windows 98 and later.
Header: Declared in Wingdi.h; include Windows.h.
Library: Included as a resource in Msimg32.dll.

示例:

void CTestDlg::SaveBitmap(CDC* pDC,CRect rect,CString filename)
{
CDC* memDC=new CDC;
memDC->CreateCompatibleDC(pDC);
CBitmap* bmp=new CBitmap;
bmp->CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
CBitmap* oldbitmap=memDC->SelectObject(bmp);
//此时的bmp就相当于一张桌布,在memDC中画线etc都是画在这张桌布上
if(!memDC->BitBlt(0,0,rect.Width(),rect.Height(),pDC,0,0,SRCCOPY))
{
   AfxMessageBox("BitBlt Error!");
   return;
}
memDC->Ellipse(0,0,100,100);
memDC->SelectObject(oldbitmap);

BITMAPINFO bi;
bi.bmiHeader.biSize=sizeof(bi.bmiHeader);
bi.bmiHeader.biWidth=rect.Width();
bi.bmiHeader.biHeight=rect.Height();
bi.bmiHeader.biPlanes=1;
bi.bmiHeader.biBitCount=16;
bi.bmiHeader.biCompression=BI_RGB;
bi.bmiHeader.biSizeImage=0;
bi.bmiHeader.biXPelsPerMeter=0;
bi.bmiHeader.biYPelsPerMeter=0;
bi.bmiHeader.biClrUsed=0;
bi.bmiHeader.biClrImportant=0;

int bitsize=rect.Width()*rect.Height()*2;
BYTE* bits=new BYTE[bitsize];
::GetDIBits(memDC->m_hDC,*bmp,0,rect.Height(),bits,&bi,DIB_RGB_COLORS);
  
BITMAPFILEHEADER bf;
bf.bfType=(int)'M'*256+'B';
bf.bfSize=bitsize;//sizeof(bf);
bf.bfOffBits=sizeof(bi.bmiHeader)+sizeof(bf);
bf.bfReserved1=0;
bf.bfReserved2=0;

CFile f(filename,CFile::modeCreate|CFile::modeWrite);
f.Write(&bf,sizeof(bf));//注意是先写bf,再写bi
f.Write(&bi,sizeof(bi));
f.Write(bits,bitsize);
f.Close();

delete[] bits;
delete bmp;
delete memDC;
}


将memDC上的位图半透明覆盖到pDC上
BLENDFUNCTION bm;
bm.BlendOp=AC_SRC_OVER;
bm.BlendFlags=0;
bm.SourceConstantAlpha=100;
bm.AlphaFormat=0;
AlphaBlend(pDC->m_hDC,0,0,rect.Width(),rect.Height(),memDC->m_hDC,0,0,rect.Width(),rect.Height(),bm);

注意用AlphaBlend函数的时候要连接下面的代码

#pragma   comment(lib,"msimg32.lib")

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. sql:1999语法

    Oracle数据据也支持最新的SQL:1999语法标准的数据库,对于数据库的查询,可以使用如下语法。 1.交叉连接(这个是有笛卡尔积的运算)cross join2.自然连接(等值连接)natural join (自然连接可以自动匹配关联字段。)3.USING子句,直接使用join进行连接,同时指定关联的…...

    2024/4/21 8:46:34
  2. larbin源码分析(1)--global结构

    从今天开始写larbin的源码分析。希望在一个月后,自己能够对larbin的源码了如指掌,也希望到那时自己可以写出一个爬虫。下面是global的结构,从global中的成员,我们可以大概对larbin有个了解。struct global {/** Constructor : see global.cc for details */global (int arg…...

    2024/4/21 8:46:33
  3. [过游戏保护]之第一讲[背包、怪物、技能地面物品、任务、队友、装备、宠物、周围玩家]

    相信很多成天在网上混的朋友都有想自己做WG乃至自己卖自己做的WG的这类想法 各类网络培训班钱都交的不少 到头来才发现特么的啥也米学到... 这里是C++版块技术交流区 特别基础的东东俺就不说了 直接进入主题吧 呵呵 一、找背包数组(结构)方法: 1、通过搜索背包物品的数量,比如…...

    2024/4/25 20:26:39
  4. 【fun-generator】SpringBoot Freemarker 代码生成器 高质量增删查改

    项目地址:https://github.com/mrdjun/fun-generator咳咳,大家好,我是MrDJun。近两个月来,接了点外包项目,让我掉了很多的头发。也分析过很多开源项目的源码(包括细节上的分析),我发现这些项目总有处理不好的地方,举个栗子吧,比如说记录用户最后一次登录的ip和时间,直…...

    2024/4/21 8:46:31
  5. SQL Server Transact-SQL—— SQL语句

    数据定义语句(DDL) CREATE 的应用 CREATE TABLE tb_emp ( id INT PRIMARY KEY, name VARCHAR(25) NOT NULL, deptId CHAR(2) NOT NULL, salary SMAKKMONEY NULL ); #创建表DROP 的功能 DROP TABLE table_name #删除表DROP DATABASE database_name #删除数据库ALTER 的…...

    2024/4/20 18:23:36
  6. AlphaBlend 使用方法

    BLENDFUNCTION blend; memset( &blend, 0, sizeof( blend) ); blend.BlendOp= AC_SRC_OVER; blend.SourceConstantAlpha= 140; // 透明度 最大255pdc->AlphaBlend( DestX,DestY, DestWid,DestHei,&srcDC, 0, 0, nDragWidth, nDragHeight, blend);...

    2024/4/20 18:23:35
  7. 游戏中的npc和对话设计

    在游戏中,npc和对话,任务 是玩家的第一个直接感受,除了任务背后的数值外,npc的人物名,对话,任务名和内容这些文字类是直接影响到 玩家对游戏的浸入感的,这也是游戏作为一种文化艺术产品的直接体现。在这一点上,魔兽做的比较好的,号称每一个npc的背景故事都可以成为一部…...

    2024/4/20 18:23:35
  8. 关于爬虫Larbin

    http://blog.sina.com.cn/s/blog_477759e70100wo69.html关于爬虫Larbin_胡作非为_新浪博客 折腾Larbin好多天了,时间像流水一样付出,肚子里的火气也生了灭灭了生,美丽的Larbin却始终没为我爬下一份网页。 网上写larbin的资料很多,参考过的文章不少,参数的修整也尝试…...

    2024/5/1 6:33:17
  9. MyBatis-Plus代码自动生成工具

    官方文档:苞米豆MyBatis-Plus(简称MP)是一个 MyBatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性无侵入:Mybatis-Plus 在 Mybatis 的基础上进行扩展,只做增强不做改变,引入 Mybatis-Plus 不会对您现有的 Mybatis 构架产生任何影响…...

    2024/5/1 5:08:13
  10. hive和spark-sql计算stddev的结果差异

    问题描述: 利用spark-sql得到了NaN的值,核对发现这些值都是关于stddev计算后得到的,但是在hive中查得为0.0。 使用的SQL代码为 selectphone , tour_ymd , stddev(total_price) as total_price_stddev , stddev(bedroom_cnt) as bedroom_cnt_stddev , stddev(tour_last_min…...

    2024/4/20 18:23:31
  11. 网络游戏简要策划案

    网络游戏简要策划案江山——网络游戏简要策划案 1第一章:游戏概述 11.1游戏概述: 1第二章:游戏特色 21真实的虚拟世界 22逼真的三维效果 23激烈的战场 24冷静的策略 25复杂的地图 26温馨的家园 27简便快捷的操作系统 2第三章:游戏背景 3第四章:游戏元素 31游戏角色: 32游…...

    2024/4/20 18:23:30
  12. 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v5.8.8版)

    TableGo v5.8.8版震撼发布,此次版本更新如下:1、新增两个扩展字段,用于生成自定义模板时使用。2、自定义模板新增模板目录,可以选择不同分类目录下的模板。3、自定义模板生成加强,可以根据参数自动生成文件名和扩展名。4、自定义模板新增和调整了多个参数,使模板编写更加…...

    2024/4/20 18:23:29
  13. sql server 2008 r2 从标准版升级为企业版

    去网上找r2的企业版序列号,这里有2个 企业版:R88PF-GMCFT-KM2KR-4R7GB-43K4B GYF3T-H2V88-GRPPH-HWRJP-QRTYB 在开始菜单打开sql server安装中心,找到“维护”-》版本升级,输入企业版序列号,选择要升级的实例,完成...

    2024/4/21 8:46:30
  14. larbin源码解读

    1. larbin简介(百度百科)larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人Sbastien Ailleret独立开发,用c++语言实现。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。 Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的…...

    2024/4/21 8:46:29
  15. 关于开源的网络爬虫/网络蜘蛛larbin结构分析的一篇非常不错的文章

    larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sbastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就 是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储…...

    2024/4/20 15:30:20
  16. Oracle SQL tuning 步骤

    SQL是的全称是Structured Query Language(结构化查询语言)。SQL是一个在80年代中期被使用的工业标准数据库查询语言。不要把SQL语言与商业化产品如Microsoft SQL server或开源产品MySQL相混淆。所有的使用SQL缩略词的这些都是SQL标准的一部分。一、SQL tuning之前的调整 下面…...

    2024/4/21 8:46:29
  17. JEECG v2.3 基于代码生成器的智能开发框架

    前言 随着 WEB UI 框架 ( EasyUI/Jquery UI/Ext/DWZ) 等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也可以生成统一规范的界面!代码生成+手工MERGE半智能开发将是新的趋势,单表数据模型和一对多数据模型的增删改查功能直接生成使用,可节省50%工作量,快速提高开发效率!…...

    2024/4/21 8:46:26
  18. AlphaBlend实现的透明PNG窗体

    //需要引用的头文件 #include <wingdi.h> #pragma comment(lib, "MSIMG32.LIB")//常量声明 #define WS_EX_LAYERED 0x00080000 #define LWA_COLORKEY 0x00000001 #define LWA_ALPHA …...

    2024/4/21 8:46:26
  19. mybatis_generator工具的安装---mybatis代码生成器(插件)--mybatis逆向工程生成模型及xml和Dao

    mybatis代码生成器(插件)--安装插件: 1。解压mybatis_generator_1.3.1.zip文件 2。把features,pougins文件夹copy到C:\Users\chufeng\MyEclipse\MyEclipse10\soft\mybatis目录下(C:\Users\pc_name\MyEclipse\MyEclipse 10\为myeclipse安装目录, soft\mybaits可以自己创建…...

    2024/4/21 8:46:25
  20. 实现AlphaBlend混合实现透明的代码

    实现AlphaBlend混合实现透明的代码 收藏 http://hi.baidu.com/%B8%DF%D5%F1%B8%D5%D1%EE%C8%F0%BB%AA/blog/item/4faf62d35f782931960a167b.html 实现AlphaBlend混合的代码. 主要的算法是: r = (BYTE)((((rForeground - rBackground)*delta) >> ALPHA) + rBackground); …...

    2024/4/21 8:46:24

最新文章

  1. ping命令操作记录

    1&#xff0c;ping 主机可查看主机是否在线 2&#xff0c;ping -a参数&#xff0c;解析主机的名称 3&#xff0c;ping -r 跟踪打印路由信息 ping命令的作用&#xff1a;确认目标主机是否存活&#xff0c;确定网络是否畅通 ping的原理&#xff1a;ping发送ICMP&#xff08;互联…...

    2024/5/1 7:25:13
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 前端 js 经典:字符编码详解

    前言&#xff1a;计算机只能识别二进制&#xff0c;开发语言中数据类型还有数字&#xff0c;字母&#xff0c;中文&#xff0c;特殊符号等&#xff0c;都需要转化成二进制编码才能让技术机识别。 一. 编码方式 ACSLL、Unicode、utf-8、URL 编码、base64 等。 1. ACSLL 对英语…...

    2024/4/29 3:52:58
  4. 【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用

    作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…...

    2024/4/30 7:26:52
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57