C# 背景 透明 抗锯齿 (效果完美)
主要是通过 P/Invoke 技术调用 Windows API 函数 gdi32.dll/user32.dll,同时定义了一些结构体来配合这些 API 函数的使用,常用于处理图形绘制、窗口显示等操作。
运行查看效果
局部放大,抗锯齿效果很不错,尾巴毛毛清晰可见。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WindowsFormsApp7.Resources;
using static System.Net.Mime.MediaTypeNames;namespace WindowsFormsApp1
{public partial class Form1: Form{private const int WS_EX_LAYERED = 0x00080000;protected override CreateParams CreateParams{get{CreateParams cp = base.CreateParams;cp.ExStyle |= WS_EX_LAYERED;return cp;}}public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){InitializeComponent();var bitmap = Properties.Resources.index00;byte opacity = 255;//0-255 透明度调整double scalePercentage = 70; // 背景图片按70%缩放SetBitmap(bitmap, opacity, scalePercentage);CenterWindow(); //窗口 绝对 居中}public void SetBitmap(Bitmap bitmap, byte opacity, double scalePercentage){// 检查传入的位图的像素格式是否为 32 位包含 alpha 通道if (bitmap.PixelFormat != PixelFormat.Format32bppArgb)// 如果不是 32 位包含 alpha 通道的格式,抛出一个应用程序异常throw new ApplicationException("位图必须是 32 位包含 alpha 通道");// 计算缩放后的宽度和高度int newWidth = (int)(bitmap.Width * scalePercentage / 100);int newHeight = (int)(bitmap.Height * scalePercentage / 100);// 更新窗口的大小this.Size = new Size(newWidth, newHeight);// 缩放位图Bitmap resizedBitmap = new Bitmap(bitmap, newWidth, newHeight);// 获取屏幕设备上下文的句柄。设备上下文(DC)是一个包含图形对象及其属性、影响输出的图形模式的结构IntPtr screenDc = APIAliasing.GetDC(IntPtr.Zero);// 创建一个与指定设备上下文(这里是屏幕设备上下文)兼容的内存设备上下文IntPtr memDc = APIAliasing.CreateCompatibleDC(screenDc);// 初始化一个 IntPtr 类型的变量,用于存储位图的句柄,初始值为 IntPtr.Zero 表示空句柄IntPtr hBitmap = IntPtr.Zero;// 初始化一个 IntPtr 类型的变量,用于存储之前选入内存设备上下文的对象的句柄,初始值为 IntPtr.Zero 表示空句柄IntPtr oldBitmap = IntPtr.Zero;try{// 将 Bitmap 对象转换为 GDI 位图,并返回该位图的句柄。Color.FromArgb(0) 表示使用透明颜色hBitmap = resizedBitmap.GetHbitmap(Color.FromArgb(0));// 将指定的位图选入指定的设备上下文,并返回之前选入该设备上下文的对象的句柄oldBitmap = APIAliasing.SelectObject(memDc, hBitmap);// 创建一个 APIAliasing.Size 结构体的实例,用于表示位图的宽度和高度APIAliasing.Size size = new APIAliasing.Size(newWidth, newHeight);// 创建一个 APIAliasing.Point 结构体的实例,用于表示位图的源点(这里是左上角,坐标为 (0, 0))APIAliasing.Point pointSource = new APIAliasing.Point(0, 0);// 创建一个 APIAliasing.Point 结构体的实例,用于表示要绘制位图的目标位置,Left 和 Top 应该是类的属性,表示控件的左上角坐标APIAliasing.Point topPos = new APIAliasing.Point(Left, Top);// 创建一个 APIAliasing.BLENDFUNCTION 结构体的实例,用于指定混合操作的参数APIAliasing.BLENDFUNCTION blend = new APIAliasing.BLENDFUNCTION();// 设置混合操作的模式为 AC_SRC_OVER,表示源位图覆盖目标位图blend.BlendOp = APIAliasing.AC_SRC_OVER;// 混合标志,这里设置为 0 表示没有特殊的混合标志blend.BlendFlags = 0;// 设置源位图的常量 alpha 值,取值范围是 0 - 255,由传入的 opacity 参数决定blend.SourceConstantAlpha = opacity;// 设置 alpha 通道的格式为 AC_SRC_ALPHA,表示使用源位图的 alpha 通道blend.AlphaFormat = APIAliasing.AC_SRC_ALPHA;// 更新分层窗口的内容,将位图绘制到指定的窗口上。// Handle 是窗口的句柄,screenDc 是屏幕设备上下文,topPos 是目标位置,size 是位图大小,// memDc 是内存设备上下文,pointSource 是源点,0 是颜色键(这里不使用),blend 是混合参数,// APIAliasing.ULW_ALPHA 表示使用 alpha 混合模式APIAliasing.UpdateLayeredWindow(Handle, screenDc, ref topPos, ref size, memDc, ref pointSource, 0, ref blend, APIAliasing.ULW_ALPHA);}finally{// 释放之前获取的屏幕设备上下文,将其返回给系统APIAliasing.ReleaseDC(IntPtr.Zero, screenDc);// 检查位图句柄是否不为空if (hBitmap != IntPtr.Zero){// 将之前选入内存设备上下文的对象重新选入,恢复设备上下文的状态APIAliasing.SelectObject(memDc, oldBitmap);// 删除之前创建的 GDI 位图对象,释放相关的系统资源APIAliasing.DeleteObject(hBitmap);}// 删除之前创建的内存设备上下文,释放相关的系统资源APIAliasing.DeleteDC(memDc);// 释放缩放后的位图资源resizedBitmap.Dispose();}}public void CenterWindow(){// 获取屏幕的工作区域(不包括任务栏)Rectangle screenBounds = Screen.PrimaryScreen.WorkingArea;// 计算窗口居中时的左上角坐标int left = (screenBounds.Width - Width) / 2 + screenBounds.Left;int top = (screenBounds.Height - Height) / 2 + screenBounds.Top;// 设置窗口的位置Location = new Point(left, top);}}
}
添加类 类名:APIAliasing
// 定义一个公共类 APIAliasing,用于封装一些 Windows API 相关的辅助功能
class APIAliasing
{// 使用 StructLayout 属性指定结构体在内存中的布局方式为顺序布局// 顺序布局意味着结构体的字段在内存中按照声明的顺序依次排列[StructLayout(LayoutKind.Sequential)]// 定义一个公共结构体 Size,用于表示二维平面上的大小,通常包含宽度和高度信息public struct Size{// 定义一个 32 位有符号整数类型的字段 cx,用于表示宽度public Int32 cx;// 定义一个 32 位有符号整数类型的字段 cy,用于表示高度public Int32 cy;// 定义结构体的构造函数,用于初始化结构体的字段// 参数 x 用于初始化 cx 字段,参数 y 用于初始化 cy 字段public Size(Int32 x, Int32 y){// 将参数 x 的值赋给字段 cxcx = x;// 将参数 y 的值赋给字段 cycy = y;}}// 使用 StructLayout 属性指定结构体在内存中的布局方式为顺序布局,并且设置字节对齐方式为 1 字节// 这样可以确保结构体的字段在内存中紧密排列,没有额外的填充字节[StructLayout(LayoutKind.Sequential, Pack = 1)]// 定义一个公共结构体 BLENDFUNCTION,用于表示混合操作的相关参数public struct BLENDFUNCTION{// 定义一个字节类型的字段 BlendOp,用于指定混合操作的类型public byte BlendOp;// 定义一个字节类型的字段 BlendFlags,用于指定混合操作的标志位public byte BlendFlags;// 定义一个字节类型的字段 SourceConstantAlpha,用于指定源图像的常量透明度值public byte SourceConstantAlpha;// 定义一个字节类型的字段 AlphaFormat,用于指定源图像的透明度格式public byte AlphaFormat;}// 使用 StructLayout 属性指定结构体在内存中的布局方式为顺序布局[StructLayout(LayoutKind.Sequential)]// 定义一个公共结构体 Point,用于表示二维平面上的一个点,通常包含 x 和 y 坐标信息public struct Point{// 定义一个 32 位有符号整数类型的字段 x,用于表示点的 x 坐标public Int32 x;// 定义一个 32 位有符号整数类型的字段 y,用于表示点的 y 坐标public Int32 y;// 定义结构体的构造函数,用于初始化结构体的字段// 参数 x 用于初始化字段 x,参数 y 用于初始化字段 ypublic Point(Int32 x, Int32 y){// 将参数 x 的值赋给字段 xthis.x = x;// 将参数 y 的值赋给字段 ythis.y = y;}}// 定义一个公共常量 AC_SRC_OVER,值为 0// 该常量通常用于指定混合操作的模式,表示源图像覆盖目标图像public const byte AC_SRC_OVER = 0;// 定义一个公共常量 ULW_ALPHA,值为 2// 该常量通常用于 UpdateLayeredWindow 函数,表示使用 alpha 混合public const Int32 ULW_ALPHA = 2;// 定义一个公共常量 AC_SRC_ALPHA,值为 1// 该常量通常用于指定源图像包含 alpha 通道信息public const byte AC_SRC_ALPHA = 1;// 使用 DllImport 属性引入 gdi32.dll 动态链接库中的 CreateCompatibleDC 函数// ExactSpelling = true 表示使用精确的函数名进行查找// SetLastError = true 表示在调用函数失败时可以通过 GetLastError 函数获取错误代码// 该函数用于创建一个与指定设备上下文兼容的内存设备上下文[DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]// 定义一个公共静态外部方法 CreateCompatibleDC,用于调用 Windows API 中的同名函数// 参数 hDC 表示要创建兼容设备上下文的源设备上下文句柄// 返回值为创建的兼容设备上下文的句柄public static extern IntPtr CreateCompatibleDC(IntPtr hDC);// 使用 DllImport 属性引入 user32.dll 动态链接库中的 GetDC 函数// ExactSpelling = true 表示使用精确的函数名进行查找// SetLastError = true 表示在调用函数失败时可以通过 GetLastError 函数获取错误代码// 该函数用于获取指定窗口的设备上下文句柄[DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]// 定义一个公共静态外部方法 GetDC,用于调用 Windows API 中的同名函数// 参数 hWnd 表示要获取设备上下文的窗口句柄// 返回值为获取的设备上下文的句柄public static extern IntPtr GetDC(IntPtr hWnd);// 使用 DllImport 属性引入 gdi32.dll 动态链接库中的 SelectObject 函数// ExactSpelling = true 表示使用精确的函数名进行查找// 该函数用于将指定的对象(如位图、画笔等)选入指定的设备上下文中[DllImport("gdi32.dll", ExactSpelling = true)]// 定义一个公共静态外部方法 SelectObject,用于调用 Windows API 中的同名函数// 参数 hDC 表示要选入对象的设备上下文句柄// 参数 hObj 表示要选入设备上下文的对象句柄// 返回值为之前选入该设备上下文的对象句柄public static extern IntPtr SelectObject(IntPtr hDC, IntPtr hObj);// 使用 DllImport 属性引入 user32.dll 动态链接库中的 ReleaseDC 函数// ExactSpelling = true 表示使用精确的函数名进行查找// 该函数用于释放之前通过 GetDC 函数获取的设备上下文[DllImport("user32.dll", ExactSpelling = true)]// 定义一个公共静态外部方法 ReleaseDC,用于调用 Windows API 中的同名函数// 参数 hWnd 表示之前获取设备上下文的窗口句柄// 参数 hDC 表示要释放的设备上下文句柄// 返回值为操作结果,非零表示成功,零表示失败public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);// 使用 DllImport 属性引入 gdi32.dll 动态链接库中的 DeleteDC 函数// ExactSpelling = true 表示使用精确的函数名进行查找// SetLastError = true 表示在调用函数失败时可以通过 GetLastError 函数获取错误代码// 该函数用于删除指定的设备上下文[DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]// 定义一个公共静态外部方法 DeleteDC,用于调用 Windows API 中的同名函数// 参数 hDC 表示要删除的设备上下文句柄// 返回值为操作结果,非零表示成功,零表示失败public static extern int DeleteDC(IntPtr hDC);// 使用 DllImport 属性引入 gdi32.dll 动态链接库中的 DeleteObject 函数// ExactSpelling = true 表示使用精确的函数名进行查找// SetLastError = true 表示在调用函数失败时可以通过 GetLastError 函数获取错误代码// 该函数用于删除指定的图形对象(如位图、画笔等)[DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]// 定义一个公共静态外部方法 DeleteObject,用于调用 Windows API 中的同名函数// 参数 hObj 表示要删除的图形对象句柄// 返回值为操作结果,非零表示成功,零表示失败public static extern int DeleteObject(IntPtr hObj);// 使用 DllImport 属性引入 user32.dll 动态链接库中的 UpdateLayeredWindow 函数// ExactSpelling = true 表示使用精确的函数名进行查找// SetLastError = true 表示在调用函数失败时可以通过 GetLastError 函数获取错误代码// 该函数用于更新分层窗口的内容,支持 alpha 混合等效果[DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]// 定义一个公共静态外部方法 UpdateLayeredWindow,用于调用 Windows API 中的同名函数// 参数 hwnd 表示要更新的分层窗口句柄// 参数 hdcDst 表示目标设备上下文句柄// 参数 pptDst 表示目标窗口的左上角坐标,使用 Point 结构体// 参数 psize 表示要更新的区域大小,使用 Size 结构体// 参数 hdcSrc 表示源设备上下文句柄// 参数 pptSrc 表示源图像的左上角坐标,使用 Point 结构体// 参数 crKey 表示颜色键,用于指定透明颜色// 参数 pblend 表示混合操作的参数,使用 BLENDFUNCTION 结构体// 参数 dwFlags 表示更新操作的标志位// 返回值为操作结果,非零表示成功,零表示失败public static extern int UpdateLayeredWindow(IntPtr hwnd, IntPtr hdcDst, ref Point pptDst, ref Size psize, IntPtr hdcSrc, ref Point pptSrc, Int32 crKey, ref BLENDFUNCTION pblend, Int32 dwFlags);// 使用 DllImport 属性引入 gdi32.dll 动态链接库中的 ExtCreateRegion 函数// ExactSpelling = true 表示使用精确的函数名进行查找// SetLastError = true 表示在调用函数失败时可以通过 GetLastError 函数获取错误代码// 该函数用于创建一个复杂的区域对象[DllImport("gdi32.dll", ExactSpelling = true, SetLastError = true)]// 定义一个公共静态外部方法 ExtCreateRegion,用于调用 Windows API 中的同名函数// 参数 lpXform 表示可选的变换矩阵指针// 参数 nCount 表示区域数据的数量// 参数 rgnData 表示区域数据的指针// 返回值为创建的区域对象的句柄public static extern IntPtr ExtCreateRegion(IntPtr lpXform, uint nCount, IntPtr rgnData);
}
相关文章:
C# 背景 透明 抗锯齿 (效果完美)
主要是通过 P/Invoke 技术调用 Windows API 函数 gdi32.dll/user32.dll,同时定义了一些结构体来配合这些 API 函数的使用,常用于处理图形绘制、窗口显示等操作。 运行查看效果 局部放大,抗锯齿效果很不错,尾巴毛毛清晰可见。 using System; u…...
Ubuntu 22.04 一键部署MinerU1.1.0
MinerU MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。 MinerU诞生于书生-浦语的预训练过程中,我们将会集中精力解决科技文献中的符号转化问题,希望在大模型时代为科技发…...
10、k8s对外服务之ingress
service和ingress的作用 service的作用 NodePort:会在每个节点开放一个端口,端口号30000-32767。 也是只能用于内网访问,四层转发。实现负载均衡。不能基于域名进行访问。 clusterip:service的默认类型,只能在集群…...
mysql面试题
一、基础概念 什么是主键(Primary Key)? 答案: 唯一标识表中每行数据的字段或字段组合,不允许 NULL 值,确保数据唯一性。 外键(Foreign Key)的作用是什么? 答案…...
什么是关系型数据库?什么是非关系型数据库?
关系型数据库:关系型数据库是基于关系模型的数据库,它将数据组织成二维表格的形式,每个表格称为一个表(Table),表中的每一行称为一条记录(Record)或元组(Tuple࿰…...
科技云报到:科技普惠潮流渐起,“开源”将带我们走向何方?
科技云报到原创。 开源决定软件未来,已成为全球技术和产业创新的主导模式之一。“开源”思想的诞生,可以说是计算机发展史中极具理想主义和浪漫主义色彩的一页,是科技自由与技术极客思想的延伸。 数字化浪潮奔涌,从软件开发的底…...
校园网架构设计与部署实战
一、学习目标 掌握校园网分层架构设计原则 理解多业务VLAN规划方法 学会部署认证计费系统 实现基础网络安全防护 二、典型校园网场景 需求分析:某中学需建设新型校园网络 覆盖教学楼/宿舍/图书馆三区域 区分教师/学生/访客网络权限 满足2000终端并发接入 …...
【含开题报告+文档+PPT+源码】基于Springboot的乡村老龄居民信息管理系统
开题报告 本文介绍了一个基于Spring Boot框架的乡村老龄居民信息管理系统。该系统旨在通过信息化手段,提高乡村老龄居民的生活质量,并为相关部门提供便捷的数据管理和服务支持。系统主要实现了用户注册登录、个人信息查看、健康数据录入、健康建议查询、…...
前端插件使用xlsx-populate,花样配置excel内容,根据坐添加标替换excel内容,修改颜色,合并单元格...。
需求要求:业务人员有个非常复杂得excel表格,各种表头等,但是模板是固定得。当然也可以实现在excel上搞出各种表格,但是不如直接用已有模板替换其中要动态得内容方便,这里我们用到CSDN得 xlsx-populate 插件。 实列中我…...
Mac m1 连接公司内网
1、创建VPN 1、在系统偏好设置 2、选择网络 3、进行添加 2、添加设置 1、选择VPN 2、类型选择L2TP/IPSec 3、填写服务器IP和账号 4、点击认证设置-填写密码 。然后应用 3、进行特殊配置 网上说苹果系统的问题。 1、创建命令 sudo vim /etc/ppp/options 2、添加内容-主要别…...
Jenkins 部署在 Mac 并在局域网内通过 ip 访问
Jenkins 部署在 Mac 并在局域网内通过 ip 访问 一、修改配置文件 打开文件 ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist 打开文件 /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist 两个文件目录不同,内容一样 <?xml version"1.0" e…...
臻识相机,华夏相机,芊熠车牌识别相机加密解密
臻识,华夏,芊熠这三种车牌识别相机解密我都试过了,可以正常解密成功,其它品牌我暂时没有测试。超级简单,免费的,白嫖无敌! 流程: ①:先导出配置文件,例如我以…...
【Python 专题】数据结构 树
LeetCode 题目104. 二叉树的最大深度(gif 图解)方法一:后序遍历(DFS)方法二:层序遍历(BFS)872. 叶子相似的树(DFS 遍历)1448. 统计二叉树中好节点的数目(DFS 遍历)437. 路径总和 III(前缀和 + DFS 回溯)1372. 二叉树中的最长交错路径(DFS)236. 二叉树的最近公共…...
【飞行器原理学习】——1. 机翼及机翼参数
飞行器原理学习——1.机翼 一、 概述 飞机的各种机翼是飞机的控制面 通过铰链、钢索、液压等方式连接在机身上 操纵面运动时,会改变机翼的弧度和形状,使流经的空气发生偏转,从而影响空气动力的大小。使飞机围绕着3轴运动 二、机翼的操纵面…...
css之display:grid布局改块级元素布局
1.问题: div是块级元素,一个div元素占一行,但是,今天测试样式时,总是会有两个div并占一行,很困惑,结果发现是app这个样式 在main.css里 #app样式布局在main.ts里被应用 2.原因以及样式分析 im…...
如何组织和管理JavaScript文件:最佳实践与策略
在现代Web开发中,JavaScript已经成为不可或缺的一部分。随着项目规模的扩大,JavaScript代码的复杂性也随之增加。如何有效地组织和管理这些文件,不仅影响开发效率,还直接关系到项目的可维护性和可扩展性。本文将深入探讨如何组织和…...
Vue 中组件通信的方式有哪些,如何实现父子组件和非父子组件之间的通信?
一、父子组件通信(垂直通信) 1. Props 传值(父 → 子) 实现方案: <!-- Parent.vue --> <template><Child :user"userData" /> </template><script setup> import { ref } …...
伯克利 CS61A 课堂笔记 11 —— Mutability
本系列为加州伯克利大学著名 Python 基础课程 CS61A 的课堂笔记整理,全英文内容,文末附词汇解释。 目录 01 Objects 02 Example: Strings Ⅰ Representing Strings: the ASCII Standard Ⅱ Representing Strings: the Unicode Standard 03 Mutatio…...
MacOS安装Emacs
个人博客地址:MacOS安装Emacs | 一张假钞的真实世界 在MacOS X上可以使用Homebrew 安装Emacs: $ brew install emacs --with-cocoa 或者用MacPorts: $ sudo port install emacs-app OSX Emacs 网站提供了通用的二进制包。 前两种方法安装…...
基于海思soc的智能产品开发(图像处理的几种需求)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于一个嵌入式设备来说,如果上面有一个camera,那么就可以有很多的用途。简单的用途就是拍照,比拍照更多一点的…...
百度智能云AI收入增3倍,2025开源引流打赢生态战
免费、开源。在DeepSeek重塑产业价值观念后,百度、OpenAI等AI时代的“领航员”纷纷采取行动。 随着开源以雷霆万钧之势袭来,百度下定决心求变。而其底气,就藏在这份财报中。根据财报,2024年,百度集团总收入为1331亿元…...
[数据结构]顺序表详解
目录 一.线性表 二.顺序表 2.1概念及结构 1. 静态顺序表:使用定长数组存储元素。 2. 动态顺序表:使用动态开辟的数组存储。 2.1按需申请 2.2 接口实现:增删查改 SeqList.h: SeqList.c: test.c 一.线性表 线性表 ( line…...
力扣hot100 ——搜索二维矩阵 || m+n复杂度优化解法
编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 解题思路: 借助行和列有序特性,不断按行或者列缩小范围;途中数字表示每…...
VirtualBox 中使用 桥接网卡 并设置 MAC 地址
在 VirtualBox 中使用 桥接网卡 并设置 MAC 地址,可以按照以下步骤操作: 步骤 1:设置桥接网卡 打开 VirtualBox,选择你的虚拟机,点击 “设置” (Settings)。进入 “网络” (Network) 选项卡。在 “适配器 1” (Adapt…...
ETL工具: Kettle入门(示例从oracle到oracle的数据导入)
kettle介绍 ETL工具,用于对数据的抽取(Extract), 转换(Transform),加载 (Load) Kettle 是一种ETL工具, 现称为 Pentaho Data Integration (PDI) 特点:纯JAVA语言编写 官方学习文档 网站: https://docs.hitachivantara.com/r/en-us/pentaho-data-int…...
未来AI方向落地场景:小语言模型,super_private_agent
未来AI方向落地场景:小语言模型,super_private_agent 目录 未来AI方向落地场景:小语言模型,super_private_agent小语言模型super - private - agent(注重隐私的智能代理)碳基生命和硅基生命交互界面面向agent的专用交互协议和数据接口从web平台经济到网络平台举例说明社交…...
Oracle RAC数据库单节点轮流重启
0、sqlplus / as sysdba 备份参数文件 create pfile/home/oracle/pfile.ora from spfile; 备份控制文件 Alter database backup controlfile to trace; 1、关闭两节点的监听; 2、操作系统层面kill掉所有LOCALNO的所有进程,即:连接会话。 p…...
渲染101对Blender的支持与硬件配置详解
一、Blender版本与渲染器支持 渲染101全面支持 Blender全版本(包括Blender 4.0及早期版本),并适配其内置的 Eevee、Cycles、Workbench 三大渲染器 。此外,平台还兼容 Aces、Realflow、Anima 等40插件,覆盖建模、动画…...
安卓burp抓包,bypass ssl pinning
好久好久没有发东西了。主要是懒。。。 这几天在搞apk渗透,遇到了burp无法抓包问题,觉得可以写下来。 问题描述 1. 一台安卓手机,装了面具,可以拿到root 2. 电脑上有burp,设置代理 3.手机和电脑连同一个网段&…...
植物大战僵尸杂交版v3.2.1最新版本(附下载链接)
B站游戏作者潜艇伟伟迷于12月21日更新了植物大战僵尸杂交版3.2.1版本!!!,有b站账户的记得要给作者三连关注一下呀! 不多废话下载链接放上: 夸克网盘链接::https://pan.quark.cn/s/e5…...
【SQL】多表查询案例
📢本章节主要学习使用SQL多表查询的案例,多表查询基础概念 请点击此处。 🎄数据准备 首先我们创建一个新的表也就是薪资等级表,其余两个表(员工表和薪资表)在多表查询章节中已经创建。然后我么根据这三个表完成下面的12个需求。 create tab…...
使用Python结合`stable-baselines3`库(包含PPO和TD3算法)以及`gym`库来实现分层强化学习的示例代码
以下是一个使用Python结合stable-baselines3库(包含PPO和TD3算法)以及gym库来实现分层强化学习的示例代码。该代码将环境中的动作元组分别提供给高层处理器PPO和低层处理器TD3进行训练,并实现单独训练和共同训练的功能。 代码实现 import g…...
解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”
一、神经网络:AI 领域的 “超级引擎” 在机器学习的庞大算法体系中,有十种算法被广泛认为是最具代表性和实用性的,它们犹如机器学习领域的 “十大神器”,各自发挥着独特的作用。这十大算法包括线性回归、逻辑回归、决策树、随机森…...
一周学会Flask3 Python Web开发-redirect重定向
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 前面我们学过渲染到模板页面,这个其实是一种内部的转发,浏览器地址栏地址没有变化。如果我们想重定向…...
FFmpeg 源码编译安装
参考: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu Linux (Ubuntu) 下载 FFmpeg 源码,并将其解压,这里我将它放在 ~/ffmpeg_source 目录下; cd ~/ffmpeg_sources wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org…...
3.Docker常用命令
1.Docker启动类命令 1.启动Docker systemctl start docker 2.停止Docker systemctl stop docker 3.重启Docker systemctl restart docker 4.查看Docker状态 systemctl status docker 5.设置开机自启(执行此命令后每次Linux重启后将自启动Docker) systemctl enable do…...
vue3面试题进阶版
覆盖 Vue3 的核心知识点、高频考点及实战场景 一、基础与核心概念 MVVM 与 MVC 的区别 MVC:Model(数据)、View(视图)、Controller(控制器),视图更新需手动操作 DOM。MVVM࿱…...
深入理解指针
例题1 int main() {int a[5][5];int(*p)[4];p a;printf("%p, %d\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);return 0; }由图知第二个打印的是-4 因为%p是直接将内存中的值当作地址打印 而-4在内存中存放的是其二进制的补码,打印以16进制形式…...
微信小程序实现拉卡拉支付
功能需求:拉卡拉支付(通过跳转拉卡拉平台进行支付),他人支付(通过链接进行平台跳转支付) 1.支付操作 //支付 const onCanStartPay async (obj) > {uni.showLoading({mask: true})// 支付接口获取需要传…...
conda简单命令
查看当前环境已经安装的库 conda list 查看conda已经创建的环境 conda env list切换conda环境 conda activate 环境名称删除环境 conda remove --name 环境名称 --all安装库 conda install 库名卸载库 conda remove 库名导出(导入)环境 保存某个…...
Linux应用之构建命令行解释器(bash进程)
目录 1.分析 2.打印输入提示符 3.读取并且处理输入字符串 4.创建子进程并切换 5.bash内部指令 6.完整代码 1.分析 当我们登录服务器的时候,命令行解释器就会自动加载出来。接下来我们就。在命令行中输入指令来达到我们想要的目的。 我们在命令行上输入的…...
什么是3D可视化?有哪些优势和应用领域?
3D可视化服务是一种基于大数据、物联网、云计算等技术构建的三维可视化系统服务,它提供直观的三维软件应用服务,帮助用户更好地理解和分析数据。以下是对3D可视化服务的详细介绍: 一、3D可视化服务的原理 3D可视化服务的原理主要包括数据采…...
在PyCharm中运行Jupyter Notebook的.ipynb文件及其pycharm软件的基础使用
(注意需使用PyCharm专业版,学生、教师可以申请免费使用:https://www.jetbrains.com/shop/eform/students) 1. pycharm2024版汉化 https://blog.csdn.net/m0_74103046/article/details/144560999 2. pycharm中的python控制台和J…...
解锁C#自定义属性:从0到1的深度实践指南
一、开篇:自定义属性的奇妙世界 在 C# 的编程宇宙中,自定义属性是一个强大且迷人的存在,它就像是代码世界里的魔法标记,为我们的程序赋予了丰富的元数据,让代码变得更加智能和富有表现力。 想象一下,你正…...
Ubuntu 安装 OpenCV (C++)
版本详情: Ubuntu: 22.04 5.15.0-133-generic gcc: 11.4.0 g: 11.4.0 OpenCV: 4.7.0 1. 卸载 OpenCV 进入原先编译 opencv 的 build 目录,在该目录下打开终端,执行以下代码(如果 build 已经删除了,可以重新编译一…...
deepseek清华大学第二版 如何获取 DeepSeek如何赋能职场应用 PDF文档 电子档(附下载)
deepseek清华大学第二版 DeepSeek如何赋能职场 pdf文件完整版下载 https://pan.baidu.com/s/1aQcNS8UleMldcoH0Jc6C6A?pwd1234 提取码: 1234 或 https://pan.quark.cn/s/3ee62050a2ac...
kill -9 结束某个用户所有进程的方式-linux019
1. 使用 pkill 命令 pkill 命令可以通过用户名直接终止该用户的所有进程。加上 -9 参数,表示强制结束进程。 pkill -9 -u XXXX 说明:这个命令会使用 SIGKILL 信号(即 kill -9)强制终止 ttlsa 用户的所有进程。 2. 使用 killal…...
十大排序算法
排序算法 插入排序冒泡排序选择排序希尔排序计数排序快速排序1经典 Lomuto 分区法2经典 Lomuto 分区法3随机快排 堆排序归并排序桶排序基数排序 插入排序 从i1开始,判断nums[i-1]和nums[i]的大小,一直到nums[i]插入到自己的位置。模拟抓扑克牌的过程&am…...
第8章作业
接口ip配置 r2 [r2]interface GigabitEthernet 0/0/0 [r2-GigabitEthernet0/0/0]ip address 13.0.0.3 24 [r2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1 [r2-GigabitEthernet0/0/1]ip address 100.1.1.254 24 [r2-GigabitEthernet0/0/1]interface GigabitEthernet…...
解决 LeetCode 串联所有单词的子串问题
问题描述 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 words ["ab","cd","ef"], 那么 &q…...