cef 问题集锦

1. Check failed: !is_bound()

[1225/181834.383:FATAL:receiver.h(159)] Check failed: !is_bound(). Receiver for network.mojom.TrustedHeaderClient is already bound

解决方案: 增加命令行参数

--disable-request-handling-for-testing
2. 部分网页显示乱码

解决方案: 检查语言区域设置是否正确(本例设置为中文)

CefSettings settings;
CefString(&settings.locale).FromWString(L"zh-CN");
3. OSR窗口疯狂点击崩溃

FATAL:event.cc(567)] Check failed : 3 >= click_count(3 vs. 4)

解决方案: SendMouseClickEvent判断点击次数是否大于3,如果大于3则默认为3

browser_host->SendMouseClickEvent(mouse_event, btnType, false,last_click_count_ >=4 ? 3: last_click_count_);
4.OSR背景透明或者锯齿

解决方案: 不使用opengl,改用原始方式UpdateLayeredWindow实现(cef 109 demo基础改)


void DrawBuffer(HDC hDC, RECT rtDest,const void *buf)
{COLORREF* pColors = nullptr;HDC hMemDC = ::CreateCompatibleDC(hDC);HBITMAP hBitMap = CreateRGBA32Bitmap(hDC, rtDest.right - rtDest.left, rtDest.bottom - rtDest.top, &pColors);::SelectObject(hMemDC, hBitMap);int w = rtDest.right - rtDest.left;int h = rtDest.bottom - rtDest.top;memcpy(pColors, buf, (rtDest.right - rtDest.left) * (rtDest.bottom - rtDest.top) * 4);for (int ih = 0; ih < h/2; ++ih){for (int iw = 0; iw < w; ++iw){COLORREF temp = pColors[ih * w + iw];pColors[ih * w + iw] = pColors[(h - 1 - ih) * w + iw];pColors[(h - 1 - ih) * w + iw] = temp;}}BLENDFUNCTION bf = { AC_SRC_OVER, 0, 255, AC_SRC_ALPHA };AlphaBlend(hDC, rtDest.left, rtDest.top, rtDest.right - rtDest.left, rtDest.bottom - rtDest.top, hMemDC, 0, 0, rtDest.right - rtDest.left, rtDest.bottom - rtDest.top, bf);DeleteObject(hBitMap);DeleteDC(hMemDC);
}void PaintContent(HDC hDc, RECT rcPaint,const void *buf)
{//DrawAColor(hDc, rcPaint, 0xffff0000);DrawBuffer(hDc, rcPaint, buf);
}void OsrRenderHandlerWinGL::OnPaint(CefRefPtr<CefBrowser> browser,CefRenderHandler::PaintElementType type,const CefRenderHandler::RectList& dirtyRects,const void* buffer,int width,int height) {CEF_REQUIRE_UI_THREAD();RECT rtWindow;GetWindowRect(hwnd(), &rtWindow);if (buffer == nullptr || (rtWindow.right - rtWindow.left) != width || (rtWindow.bottom - rtWindow.top) != height){return;}COLORREF* pOffscreenBits = NULL;HDC hdc = GetDC(hwnd());HDC hDcOffscreen = ::CreateCompatibleDC(hdc);HBITMAP hbmpOffscreen = CreateRGBA32Bitmap(hdc, width, height, &pOffscreenBits);HBITMAP hOldBitmap = (HBITMAP) ::SelectObject(hDcOffscreen, hbmpOffscreen);RECT rtPaint = { 0,0,rtWindow.right - rtWindow.left, rtWindow.bottom - rtWindow.top };PaintContent(hDcOffscreen, rtPaint,buffer);BLENDFUNCTION bf = { AC_SRC_OVER, 0, 255, AC_SRC_ALPHA };SIZE sizeWnd = { rtWindow.right - rtWindow.left, rtWindow.bottom - rtWindow.top };POINT ptPos = { rtWindow.left, rtWindow.top };//::ClientToScreen(hWnd, &ptPos);POINT ptSrc = { 0,0 };UpdateLayeredWindow(hwnd(), hdc, &ptPos, &sizeWnd, hDcOffscreen, &ptSrc, 0, &bf, ULW_ALPHA);DeleteDC(hDcOffscreen);DeleteObject(hbmpOffscreen);ReleaseDC(hwnd(),hdc);if (type == PET_VIEW && !renderer_.popup_rect().IsEmpty()) {painting_popup_ = true;browser->GetHost()->Invalidate(PET_POPUP);painting_popup_ = false;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579443.shtml

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

相关文章

微信小程序备案流程整理

一、备案流程 [找备案入口]–[填主体信息]–[填小程序信息]–[初审]–[短信核验]–[通管局审核] 1&#xff0c;在小程序后台找到备案入口 &#xff08;1&#xff09;新的未上架小程序&#xff0c;可以在小程序首页点击【去备案】进入。 &#xff08;2&#xff09;已上架小程…

工具系列:TimeGPT_(3)处理假期和特殊日期

日历变量和特殊日期是预测应用中最常见的外生变量类型之一。它们为时间序列的当前状态提供了额外的上下文信息&#xff0c;特别是对于基于窗口的模型&#xff08;如TimeGPT-1&#xff09;而言。这些变量通常包括添加每个观测的月份、周数、日期或小时数的信息。例如&#xff0c…

Java中异常释义(Throwable; Error;)

Throwable: 总父类,表示不正常的情况 2. Error: 错误 无法解决也无法提前避免的问题通常由硬件设备或内存等问题导致 Exception:异常 可以解决或提前避免的问题通常由代码导致分类: RuntimeException:运行时异常&#xff0c;也称为未检查异常、未检异常等 编译不报错,运行报错…

Redis 大/热Key故障处理流程

一、背景 应用持续访问又大又热的key&#xff0c;会造成Redis实例CPU高、流量被打满、数据在内存积压&#xff0c;甚至导致实例达到配额限制被oom-kill。在异步调用、pipeline、mget等批量调用场景比较常见。 大key分为两种情况 集合元素多且全量获取集合数据&#xff1a;命…

SpringBoot 3.2.0 基于SpringDoc接入OpenAPI实现接口文档

依赖版本 JDK 17 Spring Boot 3.2.0 SpringDoc 2.3.0 工程源码&#xff1a;Gitee 导入依赖 <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEnco…

EasyCVR无人机推流+人数统计AI算法,助力公共场所人群密度管控

一、背景与需求 在公共场所和大型活动的管理中&#xff0c;人数统计和人群密度控制是非常重要的安全问题。传统的方法可能存在效率低下或准确度不足的情况&#xff0c;无法满足现代社会的需求。TSINGSEE青犀可以利用无人机推流AI人流量统计算法&#xff0c;基于计算机视觉技术…

渗透测试(Lab4.0)

配置WebDeveloper的时候遇到一个错误 导入失败&#xff0c;因为 E:…ovf 未通过 OVF 规范一致性或虚拟硬件合规性检查。 请单击“重试”放松 OVF 规范与虚拟硬件合规性检查&#xff0c;并重新尝试导入&#xff1b; 或单击“取消”以取消导入。如果重新尝试导入&#xff0c;可能…

javaweb--实验十 --期末复盘

实验十 JDBC连接MySQL 本次实验没有代码补全&#xff0c;以下都是完整过程&#xff0c;详细关注连接过程的问题 一、实验目的&#xff1a; 1、掌握JDBC连接数据库的一般操作。 2、理解JavaBean的基本作用。 3、理解分层设计的思想。 二、 实验内容&#xff1a; 实现学生信…

PostgreSQL | FunctionProcedure | 函数与存储过程的区别

文章目录 PostgreSQL | Function&Procedure | 函数与存储过程的区别1. 简述书面说法大白话讲 2. 函数&#xff08;Function&#xff09;2.1 定义2.2 用途2.3 执行2.4 事务处理2.5 说点例子1. 当参数都是IN类时2. 参数中出现OUT、INOUT参数时 3. 存储过程&#xff08;Proced…

一图梳理多模态领域发展简史

本文采用关系图的方式整理了&#xff1a;CLiP、ViLT、FLiP、ALBEF、CoCa、BLiP、VLMo、BEiT 和BEiT v3等近几年来经典的多模态大模型&#xff0c;以及这些工作的相互依托关系。灵感来自&#xff1a;跟李沐读论文系列——多模态串讲 1 模型关系图&#xff1a; ’ 2 各模型的架…

OpenAPI,已支持表单数据格式校验

OpenAPI 路径 开放平台 功能简介 「OpenAPI」- 支持表单数据格式校验。 通过「OpenAPI-新增表单数据」接口&#xff0c;新增数据时&#xff0c;若数据格式不匹配&#xff0c;会导致无法新增。 例如&#xff0c;数字不能新增到日期格式的表单字段。 请参考数据格式传参&a…

跨境电商测评攻略及其工具海外云手机的介绍

近些年随着跨境电商的火热&#xff0c;各商家纷纷想尽办法在激烈的竞争中取得一席之地&#xff0c;产品测评就是其中一个重要手段。本文将详细阐述跨境电商的测评攻略以及介绍一个测评的好工具海外云手机。 不管是速卖通&#xff0c;还是亚马逊、ebay&#xff0c;做测评都是非常…

解决EasyX载入透明背景的PNG图片时,透明背景变成黑色背景的问题

方法一&#xff1a;直接将原来的putimage函数替换成下面这个函数 void drawAlpha(IMAGE* picture, int picture_x, int picture_y) //x为载入图片的X坐标&#xff0c;y为Y坐标 {// 变量初始化DWORD *dst GetImageBuffer(); // GetImageBuffer()函数&#xff0c;用于获取绘…

软件测试的人是专门为难开发人员的吗?不不不我是来和开发抬杠的

我觉得就对对对&#xff0c;就不应该有测试这个岗位。 开发完&#xff0c;直接上线。 你看&#xff1a; 1.省了测试人员的薪酬&#xff0c;岗位。 2.省了测试时间&#xff0c;快速交付。快速上线&#xff0c;抢占市场。 3.让用户当免费的测试劳动力。有问题让客户提BUG就好…

Python (十六) pandas(四)

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

<script setup> 的作用

一、使用<script setup> 之后&#xff0c;就不需要手动写以下代码&#xff0c;只要写逻辑代码 未加setup&#xff0c;vite 工程要加上下面代码 *export default{ * setup(){ * //只要写逻辑代码 * return{***} * } * } 加了setup &#xff0c;export default 、…

Java小案例-Feign的超时时间如何设置

前言 Feign的超时时间如何设置&#xff1f; Feign的超时时间设置方式并不固定&#xff0c;它取决于Feign在项目中是如何使用的&#xff0c;不同的使用方式&#xff0c;超时时间设置方式也不大相同&#xff0c;甚至还可能有坑。 由于文章会涉及到Feign的底层知识&#xff0c;…

【easy-ES使用】1.基础操作:增删改查、批量操作、分词查询、聚合处理。

easy-es、elasticsearch、分词器 与springboot 结合的代码我这里就不放了&#xff0c;我这里直接是使用代码。 基础准备&#xff1a; 创建实体类&#xff1a; Data // 索引名 IndexName("test_jc") public class TestJcES {// id注解IndexId(type IdType.CUSTOMI…

Python内置数据类型等入门语(句)法

内置数据类型 数字&#xff08;Number&#xff09;关键字: int 、float、complex字符串&#xff08;String&#xff09;关键字&#xff1a;单引号&#xff0c;双引号 三引号都可以表示&#xff0c;8 种内置类型都可转为字符串类型列表&#xff08;List&#xff09; 关键符号 […

SpringBoot整合JWT+Spring Security+Redis实现登录拦截(一)登录认证

一、JWT简介 JWT 全称 JSON Web Token&#xff0c;JWT 主要用于用户登录鉴权&#xff0c;当用户登录之后&#xff0c;返回给前端一个Token&#xff0c;之后用户利用Token进行信息交互。 除了JWT认证之外&#xff0c;比较传统的还有Session认证&#xff0c;如何选择可以查看之前…