- 博客(353)
- 资源 (32)
- 收藏
- 关注
原创 vue-ts-demo
链接:https://pan.baidu.com/s/1p9YR2W0-DuIZs1_UJwDh6g?可以通过计算:100vh即 100%的垂直视口 - header高度80px。新建 request/index.ts 使用index.ts的好处。实现上下居中的对齐,如果不设置line-height ,。在之前对pass name的数据定义中,并没有规范类型。height 和line-height 的设置。通过百度网盘分享的文件:src.zip。自定义列模版:展示用户角色。在定义类型之后:双向绑定。
2024-09-18 20:10:42 1110
原创 electron src build
subprocess.check_call(["python3", "script/lib/npx.py", "yarn@1.15.2", "install", "--frozen-lockfile"])将尝试下载只有 Google 员工才能访问的 Google 内部版本)您使用本地安装的 Visual Studio 版本(默认情况下,用于获取 Chromium 及其依赖项的工具集:地址。我重启了一下电脑就好了。
2024-07-09 20:21:45 588
原创 c++ template-1
函数模板定义了一组适用于不同类型的函数。当向模板函数传递变量时,函数模板会自行推断模板参数的类型,来决定去实例化出那种类型的函数。你也可以显式的指出模板参数的类型。你可以定义模板参数的默认值。这个默认值可以使用该模板参数前面的模板参数的类型,而且其后面的模板参数可以没有默认值。函数模板可以被重载。当定义新的函数模板来重载已有的函数模板时,必须要确保在任何调用情况下都只有一个模板是最匹配的。当你重载函数模板的时候,最好只是显式地指出了模板参数得了类型。
2024-02-21 10:01:01 962
原创 C++ template-2
在模板中,可以通过使用“转发引用”(亦称“万能引用”,声明方式为模板参数T加&&)和 std::forward<>将模板调用参完美地数转发出去。将完美转发用于成员函数模板时,在 copy 或者 move 对象的时候它们可能比预定义的特殊成员函数更匹配。可以通过使用 std::enable_if<>并在其条件为 false 的时候禁用模板。通过使用 std::enable_if<>,可以避免一些由于构造函数模板或者赋值构造函数模板比隐式产生的特殊构造函数更加匹配而带来的问题。
2024-02-21 10:00:27 668
原创 OBS 使用OBSQTDisplay渲染捕捉源
obs_set_output_source 这个方法把源对象设置到某个输出通道,如果将当前scene设置到output 则会录制整个场景中的画面,如果仅仅设置某个源则会录制某个源。obs中源的预览使用的是OBSQTDisplay类,该类会创建一个native的窗口,然后将材质渲染在该窗口中,因此性能很高,详细可参见上面的文章。obs的UI层逻辑很复杂,我们可以使用obs的c库,自定义UI层,将捕捉源渲染在UI上。同时添加了两个小功能 仅仅录制捕获源 与 添加图片源。该块布局控件用于预览捕捉源;
2024-01-18 10:12:50 790 3
原创 QT 自定义渲染与OBS中的实现
所有控件均视为window,可通过QGuiApplication::allWindows()获取所有控件,然后获取窗口id和大小,并且,观察每个子widget大小(通过widget->geometry()获取),可发现均集中在屏幕左上角,并且在显示上,屏幕左上角均是矩形空白,并且随着缩放,矩形空白也在变化,widget大小也在变化,即整个widget是多个子widget的合并,每个widget在底层均有一个窗口系统的句柄和内存空间,对刷新会有一定影响。主界面:OBSBasic::OBSBasic。
2024-01-18 09:52:13 1166
原创 Qt 中如何将图片转化为yuv420p
默认是 QImage::Format_ARGB32_Premultiplied格式,此时一个像素用四个字节存储,按照argb argb的格式,不同的格式转换为yuv420p的时候,由于rgb的数据排列方式不同,需要采用不同的计算方式,因此建议转化为QImage::Format_RGB888;建议通过将格式转换为mage.convertToFormat(QImage::Format_RGB888),这样rgb的存储每个八字节,按照rgb rgb 的格式存储;
2024-01-04 16:23:17 976
原创 obs-studio build
源码下载:提交点:4176f9b13aa9278dbc6c0b0c366f7f7b9ef8c68c下载依赖项,这里要下载的文件有两个,我选择的都是64位的:这里我选择是qt5,选了qt6的版本我cmake会失败,无解决。
2024-01-02 16:17:28 564
原创 chrome窗口
这个窗口是gpu进程创建的,作为一个子窗口嵌入到父窗口 Chrome_WidgetWin_1 中,chrome在使用gpu渲染时,网页的渲染最后会在GPU中渲染,即 Intermediate D3D Window 窗口。所以,我们需要一个假的 HWND,其窗口类为Chrome_RenderWidgetHostHWND 作为可访问性树的根每个选项卡。默认容器窗口是包含网页的整个窗口WebContents 等。// 用于匹配 Chrome 窗口的窗口类的前缀。浏览器将其重新设置为其窗口的子窗口。
2023-10-07 10:53:16 3107
原创 实现一个简单的录制软件:支持录制桌面与窗口
将data文件与obs-plugins文件夹复制到bin/win32文件下插件;链接:https://pan.baidu.com/s/1fdNDJwrwrJ1SA0Q9AiM7qA?pwd=iz4f提取码:iz4fvs 2019创建一个qt工程拷贝 install生成的include文件夹当前工程源文件目录bin下的32bit 目录到lib文件夹工程 ->属性 添加 头文件目录 ,附加库目录 附加依赖项拷貝到工程目录下。
2023-07-06 17:25:46 737
原创 obs录制功能源码分析
界面文件:主界面:OBSBasic.ui 中开始录制按钮的objectName 是 recordButton调用堆栈:开始录制调用libobs调用的都是libobs.dll的导出 导出方法 obs.h中声明。
2023-07-04 17:40:56 1232
原创 obs源码分析与调试:obs初始化过程
英语能力比较好的读者可以先看看官方文档:OBS 的后端(即 libobs)使用 C 语言实现,提供了最核心的功能,包括:主流程、音视频子系统、通用的插件框架。OBS 的前端(即 obs)基于 Qt/C++ 实现,实现了 UI 层的逻辑,可以调用 libobs 的方法与后端交互。
2023-07-03 09:33:08 1883
原创 obs编译
链接:https://pan.baidu.com/s/1_mKBCcw_lM6x4XFL8oLYZA?链接:https://pan.baidu.com/s/11bF6QropXk2SV1SQ6TTD6Q?点击config:选择vs studio 16 2019 /然后依次点击 configure generate。将qt 设置到系统变量:如。vs2019 打开工程。
2023-07-01 14:40:50 235
原创 Chrome-mojo The Service Manager & Services
概述是一个组件,像 Chromium 这样的大型应用程序可以使用它来支持跨平台、多进程、面向服务、连字符形容词负载的体系结构。本文档介绍了如何将嵌入到应用程序中,以及如何定义和注册服务以供其管理。如果您只想阅读有关定义服务和使用公共服务 API 的内容,请跳至主要部分。
2023-04-20 11:15:42 538 1
原创 Spy++使用
123使用点击红色圈住的按钮出現 下框:拖住上面红圈的按钮移动到其他窗口就可以查看窗口信息,如下查看优酷客户端的窗口可看出spy++ 看到优酷客户端的标题栏是qt做的:...
2022-09-15 11:31:02 390
study.zip 练习用
2020-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人