关于背景透明,透明贴图后,Invalidate(FALSE)刷新后贴图被上次的痕迹遮盖。

Invalidate(TRUE)可以去除遮盖的痕迹,但这样的的闪烁谁也无法接受

这个问题产生的原因可能是SetBkMode(TRANSPARENT)透明的区域,当Invalidate(FALSE)后不会再进行刷新,

导致以前痕迹还在,造成了遮盖的效果。

解决:

方法1,得到这篇区域InvalidateRect()来刷新,只有这片小的区域会闪烁。  这个方法后还是让人不满意。

方法2,偷梁换柱,截取这个文字应有的背景,直接进行不透明贴图。 这个方法实现的效果很满意。

方法2示例代码:

void CXXXStatic::OnPaint()

{

CPaintDC   dc(this);

CString  strText;

this->GetWindowText(strText);

CBitmap  memBmp;

CDC      memDC;

memDC.CreateCompatibleDC(pDC);

CBitmap *pOldBmp = memBmp.LoadBitmap(IDB_XXX_XXX);    //load你的背景

pOldBmp = memDC.SelectObject(&memBmp);

memDC.TextOut(0, 0, strText, wcslen(strText));

dc.BitBlt(posX, posY, bmpW, bmpH, &memDC, 0, 0, SRCCOPY);

memDC.SelectObject(pOldBmp);

memDC.DeleteObject();

}

方法3,同方法二,只不过背景还设置为透明,利用CImage进行贴图。

方法3示例代码

void CXXXStatic::OnPaint()

{

CPaintDC   dc(this);

CString  strText;

this->GetWindowText(strText);

dc.SetBkMode(TRANSPARENT);

CImage  img;

if(m_imgPath != _T(""))    //(m_imgPath 是一个成员变量,通过对它进行set,可以设置此控件的图片背景。

{

img.Load(m_imgPath);

img.Draw(dc.m_hDC, 0, 0);

}

dc.TextOut(0, 0, strText, wcslen(strText));

}

void CXXXStatic::SetTextBkImg(LPCTSTR filePath)

{

m_imgPath = CString(filePath);

}

效果后

java字体被背景盖住_背景透明后字体,贴图产生遮盖覆盖问题的解决方法。相关推荐

  1. 怎么把图片上的字盖住_吃完大闸蟹怎么去腥?实验了 12 种方法,第 1 名居然是.........

    又到了吃大闸蟹的季节,每次吃完手上腥味都会绕梁半日延绵不绝.当用这双回味悠长的手,深情抚摸女朋友脸蛋. 图片来源:GIPHY 这时候,你捂住嘴巴不让自己哭出来. 图片来源:GIPHY 那么有什么方法能 ...

  2. 王者荣耀背景html,王者荣耀背景怎么换_背景怎么改的

    王者荣耀背景怎么换?登录背景现在可以随意更改了,但只支持安卓用户,而ios用户暂时不支持喔,接下来一起来了解下背景怎么改的吧! 王者荣耀背景怎么换 1.首先先找好自己想要用来替换的视频; 2.然后打开 ...

  3. java项目出现问号_苹果电脑启动Mac时,出现问号文件夹,解决方法

    前段时间,一位同事说她的苹果笔记本被自己误删磁盘,导致开机时,出现问号文件夹,且一直停留在这个界面.把她的电脑拿来后各种搜索资料,研究解决方法,终于给整好了,但是这个方法却不能保留电脑里的文件,好在同 ...

  4. cad字体hztxt用什么代替_为什么CAD的字体库相同但打开图纸的效果却不同?

    安装卸载  文件及输入输出  异常.退出 基本操作 设置  界面和显示 快捷键 视图  坐标定位 捕捉 选择及组 图块 字体和文字 布局和视口 标注 打印 填充 外部参照  光栅图像  图层  颜色  ...

  5. Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理

    效果图如下: 前端发送一次请求,后端接收到两次,第二次是:GET /favicon.ico HTTP/1.1 可以看到页签上标题栏前面是个地球,这个是默认的. 原因就是后台给的响应里没有指定这个图标, ...

  6. python设置背景颜色(mac)_配置PyCharm(背景色+字体大小+解释器选择)

    首先配置PyCharm的背景,快捷键组合,视图模式和风格. 使用快捷键Ctrl + "`"(该键位于键盘的左上角,和"~"同一个键位),即可开发上图配置选项. ...

  7. 缩小窗口时CSS背景图出现右侧空白BUG的解决方法

    页面容器(#wrap)与页面头部(#header )为100%宽度.而内容的容器(#page)为固定宽度960px.浏览窗口缩小而小于内容层宽度时会产生宽度理解上的差异.如下图所示窗口宽度大于内容层宽 ...

  8. 设置背景图时防止图片拉伸的解决方法

    在设置背景图时,如果图片不够大会被拉伸,使图片失真,如果图片太大会对view控件的显示造成影响. 如果只是在ImageView中设置图片的话,在程式中可以利用setScaleType进行动态设定,在x ...

  9. SVG公众号排版『大尺寸背景图重复安卓不显示』解决方法

    今天懂点君给大家分享一个兼容问题,大尺寸背景图平铺/重复在安卓微信上不能正常显示,也就是背景图显示不出来. 一开始我是猜测跟平铺/重复没有关系,是图片尺寸太大导致背景图不显示,具体咱们来看如下案例. ...

最新文章

  1. SingleCellExperiment类使用
  2. 用肖像画追踪历史上的信任度变化 |《自然-通讯》论文
  3. Python Django 设置和获取Cookie代码示例
  4. php 加密解密函数封装
  5. npoi word在试图打开文件时遇到错误_【技巧】word在试图打开文件时遇到错误
  6. UI干货素材模板|从做好网页头部内容设计开始!
  7. Leetcode每日一题:122.best-time-to-buy-and-sell-stock-ii(买股票的最佳时机Ⅱ)
  8. 笔记本显示服务器,如何将笔记本电脑用作无头服务器的键盘,显示器和鼠标
  9. ryzen linux 搭配显卡,AMD锐龙Ryzen5 2600X配什么显卡好?锐龙R5-2600X最佳显卡搭配知识...
  10. Linux C/C++开发、嵌入式软件开发面试记录 ( 四)
  11. 将两个数组首尾相连c语言,一个百度笔试中的首尾相连的珠子问题解法
  12. 数据结构之--series,DataFrame.use python and pandas for data mining
  13. jQuery练习t188,从0到1
  14. 贝叶斯公式求解公园凉鞋问题
  15. yii1 ajax,ajax - 在yii 1中使用ajax根据选定的单选按钮选项更新html字段值 - 堆栈内存溢出...
  16. Python骚操作:Python控制Excel实现自动化办公!
  17. Flashed Ball
  18. matplotlib-06 axhline绘制水平/竖直参考线
  19. 2018年最新Python学习路线图(内含大纲+视频+工具)
  20. Matlab之绘制参考线函数refline和refcurve

热门文章

  1. Microsoft Visio Professional 2013打不开也卸载不了解决办法
  2. 使用bootstrap时下拉菜单失效问题解决
  3. 四川大学软件学院 2022 年春季 IT 企业实训项目开发概述
  4. 以下不是python语言合法变量_违法行为的客体是指法律所保护的而为违法行为所侵害的:()...
  5. c语言控制输出间隔大小,C/C++ 输出间隔控制
  6. 苹果手机电池健康怎么看_MIUI12怎么看电池温度 小米手机电池损耗寿命查看方法...
  7. HA 高可用软件系统保养指南
  8. element分页组件,搜索过后current-page 绑定的数据变了,但是页面当前页码并没有变的问题
  9. Java学习历程——JVM的JMM模型
  10. row_number() OVER(PARTITION BY)函数介绍