前端关于pptxgen.js个人使用介绍

官方文档链接:Quick Start Guide | PptxGenJS
git地址:https://github.com/gitbrent/PptxGenJS/

1. 安装命令

npm install pptxgenjs --save

yarn add pptxgenjs

2. 示例demo
import pptxgen from "pptxgenjs"; // 引入pptxgen // 1. Create a Presentation 
// 1. 创建ppt
let pptx= new pptxgen();// 2. Add a Slide to the presentation
// 2. 创建一个ppt页面,每调用一次pres.addSlide() 都可以生成一张新的页面
// 建议把每个页面的构造抽成一个个函数,然后通过函数调用生成新页面。代码不会很乱// 关于坐标长度与px的转换 x 1 = 127~128px 左右
let slide = pptx.addSlide();// 3. Add 1+ objects (Tables, Shapes, etc.) to the Slide
// 3. 调用addText(),在ppt页面中插入文字Hello World from PptxGenJS...
slide.addText("Hello World from PptxGenJS...", {x: 1.5,y: 1.5,color: "363636",fill: { color: "F1F1F1" },align: pres.AlignH.center,
});// 4. Save the Presentation//导出ppt 配置项: fileName: string 导出pptx的名字, compression:Boolean, 是否为zip导出,导出时间更久,但导出大小节省
pres.writeFile({ fileName: "Sample Presentation.pptx" });
3. 背景布局:

3.1 pptx可以设置多个可选的 PowerPoint 元数据属性,可以使用 ES6 样式的getters/setters

pptx.author = ‘Brent Ely’;
pptx.company = ‘S.T.A.R. Laboratories’;
pptx.revision = ‘15’;
pptx.subject = ‘Annual Report’;
pptx.title = ‘PptxGenJS Sample Presentation’;

3.2layout设置当前演示文稿中的所有幻灯片板式

pptx.layout = ‘LAYOUT_NAME’;

也可以使用defineLayout()方法自定义创建任意大小ppt版式

// 定义ppt的布局
pptx.defineLayout({ name: "A3", width: 10, height: 7.0710678 });
// 使用布局
pptx.layout = "A3";

3.2 设置背景

slide.background = { color: "F1F1F1" }; // 设置背景颜色
slide.background = { color: "FF3399", transparency: 50 }; // 设置背景颜色与透明度
slide.background = { data: "image/png;base64,ABC[...]123" }; //设置base64格式背景图片
slide.background = { path: "https://some.url/image.jpg" }; // 设置网络路径背景图片
slide.color = "696969"; // 设置默认字体颜色
// 在给定位置添加幻灯片编号
slide.slideNumber = { x: 1.0, y: "90%" };// 带样式的幻灯片编号
slide.slideNumber = { x: 1.0, y: "95%", fontFace: "Courier", fontSize: 32, color: "CF0101" }

3.3 导出幻灯片

// fileName 导柱名字, 支持promise
pptx.writeFile({ fileName: 'Browser-PowerPoint-Demo.pptx' });pptx.writeFile({ fileName: 'Browser-PowerPoint-Demo.pptx' });.then(fileName => {console.log(`created file: ${fileName}`);});

也支持导出其他类型文件

// 导出base64
pptx.write("base64").then((data) => {console.log("write as base64: Here are 0-100 chars of `data`:
");console.log(data.substring(0, 100));}).catch((err) => {console.error(err);});

3.4 可以通过循环创建多个ppt

for (let slide of this.list) {let pptxSlide = pptx.addSlide();if (slide.styles.backgroundImage) {const backgroundImage = slide.styles.backgroundImage;pptxSlide.background = {path: backgroundImage,};} else {const color = rgbaToHex(slide.styles.backgroundColor).color.slice(1).toUpperCase();const transparency =(1 - rgbaToHex(slide.styles.backgroundColor).transparency) * 100;pptxSlide.background = { color, transparency };}}.........
4. 模块方法

通过addSlide()创建一个ppt页面,可以插入元素

文字addText(),图片addImage(),表格addTable(),图表addChart(), 形状addShape(),媒体addMedia()

以下配置文字/图片/形状/表格/图表/媒体都需要配置,是元素在页面中的位置信息与宽高

4.1 添加文字元素, 文档地址:Text | PptxGenJS

var pptx = new PptxGenJS();
var slide = pptx.addSlide();// 使用百分比的动态定位
slide.addText("^ (50%/50%)", { x: "50%", y: "50%" });// 基本格式
slide.addText("Hello", { x: 0.5, y: 0.7, w: 3, color: "0000FF", fontSize: 64 });
slide.addText("World!", { x: 2.7, y: 1.0, w: 5, color: "DDDD00", fontSize: 90 });
slide.addText("Arial, 32pt, green, bold, underline, 0 inset", {x: 0.5,y: 5.0,w: "90%",margin: 0.5,fontFace: "Arial",fontSize: 32,color: "00CC00",bold: true,underline: true,isTextBox: true,
});// 也可以一次配置多个
slide.addText([{ text: "word-level", options: { fontSize: 36, color: "99ABCC", align: "right", breakLine: true } },{ text: "formatting", options: { fontSize: 48, color: "FFFF00", align: "center" } },],{ x: 0.5, y: 4.1, w: 8.5, h: 2.0, fill: { color: "F1F1F1" } }
);// 详细示例参考 https://gitbrent.github.io/PptxGenJS/docs/api-text/

详细参数(个人总结,有误的话见谅)Text | PptxGenJS

 // 1磅(pt)等于1/72英寸
// 1英寸 = 25.4毫米// 1英寸 = 96像素(默认DPI)// 1磅(pt) = 1/72英寸 = 96/72像素 = 4/3像素 ≈ 1.333像素
//  pt = px * dpi / 72 (windows默认为96dpi)// 以 Windows 下的 96dpi 来计算,1 pt = px * 96/72 = px * 4/3if (el.type === 'text') {// 3. 调用addText(),在ppt页面中插入文字// https://gitbrent.github.io/PptxGenJS/docs/api-text/ -- 官方配置文档pptxSlide.addText(el.styles.value, {x: el.pathData.left / 128, // x 轴 number / string(百分比)y: el.pathData.top / 128, // y 轴 number / string(百分比)w: el.pathData.width / 128, // 宽度 number / string(百分比)h: el.pathData.height / 128, // 高度 number / string(百分比)zIndex: el.zIndex, // 层级color: el.styles.color.slice(1), // 字体颜色// fill: { color: "F1F1F1" }, //文本框背景填充align: el.styles.justifyContent, // 横向位置 left or center or rightvalign:el.styles.alignItems === 'start'? 'top': el.styles.alignItems === 'center'? 'middle': 'bottom', // 垂直位置, top middle bottomfontFace: el.styles.fontFamily, // 字体fontSize: el.styles.fontSize * 0.75, // 字号 // TODO  需px转字号charSpacing: el.styles.letterSpacing * 0.75, // 字符间距 number 1-256bold: el.styles.fontWeight === '700', // 是否加粗underline: el.styles.textDecoration === 'underline', // 下划线// isTextBox: true, // 文字盒子autoFit: true, // 自动适应文本框大小// baseline: 0, // pptxgen// breakLine: false, // 文本中的空格是否自动换行strike: el.styles.textDecoration === 'line-through', // dblStrike(双线) or sngStrike(单线) 删除线italic: el.styles.fontStyle === 'italic', // 倾斜 Boolean// subscript: true, // 下标 // superscript: true, // 上标// wrap: false, // 文本环绕// vert: 文本方向: 属性值 eaVert or horz or mongolianVert or vert or vert270 or wordArtVert or wordArtVertRtl// transparency: 透明度 值:0-100// softBreakBefore: Boolean 软换行符// shadow: 文本阴影 Ex: shadow:{ type:'outer', angle:180 .. } 详情参考文档 https://gitbrent.github.io/PptxGenJS/docs/api-text/// rtlMode: true, // 启用右排文本 // TODO 不知为何未生效rotate: el.styles.rotate, // 旋转,0-360// rectRadius: 2, // number 圆角半径,单位英寸, 不知道是啥// paraSpaceBefore number 段落间距 - 段前,// paraSpaceAfter number 段落间距 - 段后,// outline: { size: 1.5, color: "FF0000" }, // 文字外边框,有点类似加粗效果// margin: 20, // number 0-99, 相当于html的paddinglineSpacingMultiple: el.styles.lineHeight / 1.25, // 行距-倍数,number, 0-9.99// lineSpacing: ((el.styles.lineHeight - el.styles.fontSize) * 4) / 3, //  行距-点数,number, 1-256 单位 磅 // line:{ width:'2', color:'A9A9A9' }, // 边框 // lang: "zh-TW", // 使用中文等非英文字体时设置此项,默认为 en-US// inset: 200, // 不知道是啥 number 1-256 单位:英寸// indentLevel: 30, // 缩进 1-32// hyperlink: { url: "https://bz.zzzmh.cn/index" },// 超链接,仅会使文字有下划线// highlight: "ff5522", // 高亮显示的颜色(文字填充)// glow: { size: 10, opacity: 0.75, color: "0088CC" }, // 文字阴影});}

4.2 添加图片元素 文档地址:Images | PptxGenJS

// 添加网络图片
slide.addImage({ path: "https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg" });// 添加本地图片
slide.addImage({ path: "images/chart_world_peace_near.png" });//添加base64格式图片
slide.addImage({ data: "image/png;base64,iVtDafDrBF[...]=" });// 支持png、jpg、gif 等,
// GIF动画:仅在Microsoft 365 / Office365和最新的桌面版本上显示动画,旧版本将仅在演示模式下对其进行动画处理
// SVG 图像:在最新版本的桌面 PowerPoint 或 Microsoft 365/Office365 中受支持
// 读取和编码图像需要 CPU 时间!包含的图像越多,图像越大,消耗的时间就越多。

参数(个人总结,有误的话见谅,详细请参考文档)

if (el.type === 'image') {pptxSlide.addImage({path: el.url,x: el.pathData.left / 128, // x 轴 number / string(百分比)y: el.pathData.top / 128, // y 轴 number / string(百分比)w: el.pathData.width / 128, // 宽度 number / string(百分比)h: el.pathData.height / 128, // 高度 number / string(百分比)zIndex: el.zIndex, // 层级rotate: el.styles.rotate,// altText: '', // string 替代文本值// flipH: false, // boolean 水平翻转// flipV: false, // boolean 垂直翻转rounding: false, // 将图像塑造成圆形// hyperlink: { url: "https://bz.zzzmh.cn/index" }, // 超链接// placeholder:'', string  图像占位符// sizing: 裁剪图片, object {type: 'crop', 'contain' or 'cover', w: number, h: number, x: number, y: number}// transparency: 1-100, 透明度});}

4.3 添加媒体元素Media | PptxGenJS

// 本地路径与网络路径
slide.addMedia({ type: "video", path: "https://example.com/media/sample.mov" });
slide.addMedia({ type: "video", path: "../media/sample.mov" });// Base64
slide.addMedia({ type: "audio", data: "audio/mp3;base64,iVtDafDrBF[...]=" });// 在线视频(Microsoft 365支持)
slide.addMedia({ type: "online", link: "https://www.youtube.com/embed/Dph6ynRVyUc" });//视频支持mpg、mov、mp4、m4v 等;音频支持mp3、wav 等(请参阅 PowerPoint 中支持的视频和音频文件格式:https://support.microsoft.com/en-us/office/video-and-audio-file-formats-supported-in-powerpoint-d8b12450-26db-4c7b-a5c1-593d3418fb59?ui=en-us&rs=en-us&ad=us)// 可以使用 Microsoft 365/Office 365 查看在线视频(它们可能会在较旧的桌面 PowerPoint 版本上显示错误)
//并非所有平台都支持所有格式!MacOS 可以显示 MPG 文件,而 Windows 可能不会,有些 AVI 文件可能有效,有些可能无效。视频编解码器就是这样奇怪和痛苦的。

参数示例(有误见谅,详情看文档)

          if (el.type === 'video') {pptxSlide.addMedia({type: 'video',path: el.videoUrl,x: el.pathData.left / 128, // x 轴 number / string(百分比)y: el.pathData.top / 128, // y 轴 number / string(百分比)w: el.pathData.width / 128, // 宽度 number / string(百分比)h: el.pathData.height / 128, // 高度 number / string(百分比)zIndex: el.zIndex, // 层级rotate: el.styles.rotate,cover: el.imgUrl,// cover: 视频封面,base64格式字符串// extn:指定媒体文件的扩展名// link: 在线视频url链接});}

4.4 添加形状Shapes | PptxGenJS

支持形状的类型PptxGenJS/types/index.d.ts at master · gitbrent/PptxGenJS · GitHub

// 不带文本的形状
slide.addShape(pres.ShapeType.rect, { fill: { color: "FF0000" } }); // 矩形
slide.addShape(pres.ShapeType.ellipse, { // 椭圆fill: { type: "solid", color: "0088CC" },
});
slide.addShape(pres.ShapeType.line, { line: { color: "FF0000", width: 1 } });// 带文本的形状
slide.addText("ShapeType.rect", {shape: pres.ShapeType.rect,fill: { color: "FF0000" },
});
slide.addText("ShapeType.ellipse", {shape: pres.ShapeType.ellipse,fill: { color: "FF0000" },
});
slide.addText("ShapeType.line", {shape: pres.ShapeType.line,line: { color: "FF0000", width: 1, dashType: "lgDash" },
});

示例(有误见谅)

 if (el.type === 'rect') { // 矩形pptxSlide.addShape(el.isUse.radius? pres.shapes.ROUNDED_RECTANGLE: pres.ShapeType.rect,{x: el.pathData.left / 128, // x 轴 number / string(百分比)y: el.pathData.top / 128, // y 轴 number / string(百分比)w: el.pathData.width / 128, // 宽度 number / string(百分比)h: el.pathData.height / 128, // 高度 number / string(百分比)zIndex: el.zIndex, // 层级fill: {color: rgbaToHex(el.styles.backgroundColor).color.slice(1).toUpperCase(),transparency:(1 - rgbaToHex(el.styles.backgroundColor).transparency) *100, // 0-100},align: 'center',flipH: false, // boolean 水平翻转flipV: false, // boolean 垂直翻转// hyperlink: { url: "https://bz.zzzmh.cn/index" }, // 超链接,仅会使文字有下划线line: {width: el.styles.border.width * 0.75, // 单位 磅 pointscolor: el.styles.border.color.slice(1).toUpperCase(),dashType:el.styles.border.style === 'solid'? 'solid': el.styles.border.style === 'dashed'? 'sysDot': 'sysDot', // dashType: dash 虚线, dashDot 虚线点, lgDash--长虚线, lgDashDot-长虚线点, lgDashDotDot--长虚线点点, solid, sysDash-系统虚线 or sysDot 系统点线// beginArrowType: "oval", // 起始箭头,arrow 箭头, diamond 菱形, oval 椭圆, stealth 隐形箭头, triangle 三角 or none// endArrowType: "diamond",// 结束箭头	arrow, diamond, oval, stealth, triangle or none}, // width: 1-256// shadow: {//   type: "outer", // outer 外阴影 or  inner 内阴影 or none//   blur: 100, // 模糊度 0-100 磅//   angle: 200, // 0-359 旋转度数//   offset: 100, // y 0-200 磅//   color: "000000",//   opacity: ".3", // 透明度//   rotateWithShape: true,// },rotate: el.styles.rotate, // -360 to 360rectRadius:convertRangeTo100(el.styles.radius,el.pathData.height,el.pathData.width) / 100,});}
if (el.type === 'round') { // 圆pptxSlide.addShape(pres.ShapeType.ellipse, {x: el.pathData.left / 128, // x 轴 number / string(百分比)y: el.pathData.top / 128, // y 轴 number / string(百分比)w: el.pathData.width / 128, // 宽度 number / string(百分比)h: el.pathData.height / 128, // 高度 number / string(百分比)zIndex: el.zIndex, // 层级fill: {color: rgbaToHex(el.styles.backgroundColor).color.slice(1).toUpperCase(),transparency:(1 - rgbaToHex(el.styles.backgroundColor).transparency) * 100, // 0-100},align: 'center',flipH: false, // boolean 水平翻转flipV: false, // boolean 垂直翻转// hyperlink: { url: "https://bz.zzzmh.cn/index" }, // 超链接,会使文字有下划线line: {width: el.styles.border.width * 0.75, // 单位 磅 pointscolor: el.styles.border.color.slice(1).toUpperCase(),dashType:el.styles.border.style === 'solid'? 'solid': el.styles.border.style === 'dashed'? 'sysDot': 'sysDot', // dashType: dash 虚线, dashDot 虚线点, lgDash--长虚线, lgDashDot-长虚线点, lgDashDotDot--长虚线点点, solid, sysDash-系统虚线 or sysDot 系统点线// beginArrowType: "oval", // 起始箭头,arrow 箭头, diamond 菱形, oval 椭圆, stealth 隐形箭头, triangle 三角 or none// endArrowType: "diamond",// 结束箭头	arrow, diamond, oval, stealth, triangle or none}, // width: 1-256// shadow: {//   type: "outer", // outer 外阴影 or  inner 内阴影 or none//   blur: 100, // 模糊度 0-100 磅//   angle: 200, // 0-359 旋转度数//   offset: 100, // y 0-200 磅//   color: "000000",//   opacity: ".3", // 透明度//   rotateWithShape: true,// },rotate: el.styles.rotate, // -360 to 360rectRadius:convertRangeTo100(el.styles.radius,el.pathData.height,el.pathData.width) / 100,});}});

4.5 图表与表格(我没写.详情参考文档)

图表地址:Charts | PptxGenJS

表格地址:Tables | PptxGenJS

4.5.1 图表

let pres = new pptxgen();
let dataChartAreaLine = [{name: "Actual Sales",labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],values: [1500, 4600, 5156, 3167, 8510, 8009, 6006, 7855, 12102, 12789, 10123, 15121],},{name: "Projected Sales",labels: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],values: [1000, 2600, 3456, 4567, 5010, 6009, 7006, 8855, 9102, 10789, 11123, 12121],},
];slide.addChart(pres.ChartType.line, dataChartAreaLine, { x: 1, y: 1, w: 8, h: 4 });

4.5.2 表格

// TABLE 1: Single-row table
let rows = [["Cell 1", "Cell 2", "Cell 3"]];
slide.addTable(rows, { w: 9 });// TABLE 2: Multi-row table
// - each row's array element is an array of cells
let rows = [["A1", "B1", "C1"]];
slide.addTable(rows, { align: "left", fontFace: "Arial" });// TABLE 3: Formatting at a cell level
// - use this to selectively override the table's cell options
let rows = [[{ text: "Top Lft", options: { align: "left", fontFace: "Arial" } },{ text: "Top Ctr", options: { align: "center", fontFace: "Verdana" } },{ text: "Top Rgt", options: { align: "right", fontFace: "Courier" } },],
];
slide.addTable(rows, { w: 9, rowH: 1, align: "left", fontFace: "Arial" });

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

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

相关文章

【机器人】机械臂位置、轨迹和转矩控制概要

仍旧以 RRR(三连杆)为例,实现控制,可以采用以下步骤。这里的控制包括 位置控制轨迹控制 轨迹跟踪控制, 具体根据应用需求选择。以下是实现 RRR 机械臂控制的完整过程: 1. 定义机器人模型 通过 Denavit-H…

Python tkinter写的《电脑装配单》和 Html版 可打印 可导出 excel 文件

Python版 样图: 说明书: markdown # 电脑配置单使用说明书 ## 一、软件简介 电脑配置单是一个用于创建和比较两套电脑配置方案的工具软件。用户可以选择各种电脑配件,输入数量和价格,软件会自动计算总金额,并支持导出和打印配置单。 ## 二、主要功能 1. …

android studio更改应用图片,和应用名字。

更改应用图标,和名字 先打开AndroidManifest.xml文件。 更改图片文件名字( 右键-->构建-->重命名(R))

Vue Web开发(十)

1. 用户管理新增,搜索,编辑,删除 本节课完成用户列表表单设计,使用table组件,同样模块化组件,CommonTable.vue组件,并且在User页面中引入,mock实现数据模拟,最终完成用户…

人工智能在VR展览中扮演什么角色?

人工智能(AI)在VR展览中扮演着多重关键角色,这些角色不仅增强了用户体验,还为展览的组织者提供了强大的工具。 接下来,由专业从事VR展览制作的圆桌3D云展厅平台为大家介绍AI在VR展览中的一些主要作用: 个性…

学工管理系统-职校信息化管理平台

学工管理系统是一种致力于提升职校管理效率和信息化水平的重要工具。它综合运用了现代信息技术和学工管理理念,为学校提供了全面、科学、高效的管理平台。 学工管理系统在学校管理中发挥着重要的作用。它能够实现学生信息的完整管理,包括学籍、课程、成绩…

如何测量分辨率

一、什么是分辨率? 分辨率指的是分清物体细节的能力。分辨率是一个成像系统还原空间频率的能力。一些人只是简单的用分辨率去描述极限分辨率,但是相机在在不同的对比度的情况下还原低,中和高频率的能力,也可以显示全面综合的信息。…

MySQL数据库下载及安装教程

链接:MySQL数据库下载及安装教程(最最新版)_mysql下载安装-CSDN博客 亲测安装成功了💕 把这个路径放到系统环境变量里头 MD!我这安到C盘去了,就很烦🤬😡 在CMD登录试一下 mysql -h localhos…

RadiAnt DICOM - 基本主题 :从 PACS 服务器打开研究

正版序列号获取:https://r-g.io/42ZopE RadiAnt DICOM Viewer PACS 客户端功能允许您从 PACS 主机(图片存档和通信系统)搜索和下载研究。 在开始之前,您需要确保您的 PACS 服务器和 RadiAnt 已正确配置。有关配置说明&#xff0c…

时间管理系统|Java|SSM|JSP|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

智能座舱进阶-应用框架层-Handler分析

首先明确, handler是为了解决单进程内的线程之间的通信问题的。我也需要理解Android系统中进程和线程的概念, APP启动后,会有三四个线程启动起来,其中,有一条mainUITread的线程,专门用来处理UI事件&#xf…

构建高性能异步任务引擎:FastAPI + Celery + Redis

在现代应用开发中,异步任务处理是一个常见的需求。无论是数据处理、图像生成,还是复杂的计算任务,异步执行都能显著提升系统的响应速度和吞吐量。今天,我们将通过一个实际项目,探索如何使用 FastAPI、Celery 和 Redis …

go面试问题

1 Go的内存逃逸如何分析 go build -gcflags-m main_pointer.go 2 http状态码 300 请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择 301 永久移动。请求的资源已被永久的移动到新U…

JVM性能优化一:初识内存泄露-内存溢出-垃圾回收

本文主要是让你充分的认识到什么叫做内存泄露,什么叫做内存溢出,别再傻傻分不清了,别再动不动的升级服务器的内存了。 文章目录 1.基本概念1.1.内存泄露1.2.内存溢出1.3.垃圾回收1.4.内存泄露-垃圾回收-内存溢出三者的关系关系 2.代码示例2.…

安装milvus以及向量库增删改操作

首先电脑已经安装了docker windows电脑可下载yml文件 https://github.com/milvus-io/milvus/releases/download/v2.4.6/milvus-standalone-docker-compose.yml 创建milvus文件夹,并在这个目录下创建五个文件夹:conf、db、logs、pic、volumes、wal 然后…

ARP..

ARP 0 前言 真正接触到现网才发现ARP十分重要,无论是排错还是S-MLAG都需要用到ARP这个协议,以前对于ARP的理解比较混乱;所以这次对其中的主要内容做个梳理;一定要学好ARP!!! 1 ARP的概念 Ar…

单片机上电后程序不运行怎么排查问题?

1.电源检查。使用电压表测量单片机的电源电压是否正常,确保电压在规定的范围内,如常见的5V。 2.复位检查。检查复位引脚的电压是否正常,在单片机接通电源时,复位引脚通常会有一个高电平,按下复位按钮时,复位…

SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能

概述 论文地址:https://arxiv.org/pdf/2406.09403 素描是一种应用广泛的有效工具,包括产生创意和解决问题。由于素描能直接传达无法用语言表达的视觉和空间信息,因此从古代岩画到现代建筑图纸,素描在世界各地被用于各种用途。儿童…

Linux应用开发————mysql数据库表

mysql数据库表操作 查看表的结构 mysql> desc / describe 表名; 或者: mysql> show create table 表名; 常见数据库引擎: innodb, myISAM... 删除表 mysql> drop tabl…

【C#】实现Json转Lua (Json2Lua)

关键词: C#、JsonToLua、Json2Lua、对象序列化Lua 前提需引入NewtonsofJson,引入方法可先在Visual Studio 2019 将Newtonsoft.Json.dll文件导入Unity的Plugins下。 Json格式字符串转Lua格式字符串,效果如下: json字符串 {"1": &q…