RTF文件格式解析(二)图像问题

图片

一个RTF文件可以包含由其他应用创建的图象。这些图象可以是16进制(默认的)或2进制格式。图象属于目标引用,由\pict 控制字开始。如后面的例子中将描述的,\pict关键字应在\*\shppict引用控制关键字之后。一个图象引用具有如下语法:

<pict>

'{' \pict (<brdr>? & <shading>? & <picttype> & <pictsize> & <metafileinfo>?) <data> '}'

<picttype>

| \emfblip | \pngblip | \jpegblip | \macpict | \pmmetafile | \wmetafile | \dibitmap <bitmapinfo> | \wbitmap <bitmapinfo>

<bitmapinfo>

\wbmbitspixel & \wbmplanes & \wbmwidthbytes

<pictsize>

(\picw & \pich) \picwgoal? & \pichgoal? \picscalex? & \picscaley? & \picscaled?

& \piccropt? & \piccropb? & \piccropr? & \piccropl?

<metafileinfo>

\picbmp & \picbpp

<data>

(\bin #BDATA) | #SDATA

这些控制字在下表中描述。这个表中一些度量单位是缇,一缇是二十分之一点。

控制字

涵义

\emfblip

图片源为一个EMF文件(增强图元文件)。

\pngblip

图片源为一个PNG文件。

\jpegblip

图片源为一个JPEG文件。

\shppict

指定一张Word 97到Word 2002的图片。这是一个引用控制字。

\nonshppict

指定Word 97到Word 2002已经写入了一个引用,该引用在读入时将不被读取。这个关键字用于与别的阅读器兼容。

\macpict

图片源为一个QuickDraw文件。

\pmmetafileN

图片源为一个OS/2图元文件。参数N表示图元文件类型。N的取值在这部分接下来的\pmmetafile 表中描述。

\wmetafileN

图片源为一个Windows图元文件。参数N表示图元文件类型(默认为1)。

\dibitmapN

图片源为一个Windows设备无关位图。参数N表示位图类型,必须等于0。

包含在RTF中的一个Windows设备无关位图信息,来源于实际象素数据前的

BITMAPINFO结构之中。

\wbitmapN

图片源为一个Windows设备相关位图。参数N表示位图类型(必须等于0)。

包含在RTF中的一个Windows设备相关位图信息,来源于GetBitmapBits函数的返回值。

下面是一个\shppict组的例子:

{\*\shppict {\pict \emfblip ….. }}{\nonshppict {\pict ….}}

为了得到最好的设备独立性和与微软产品的互用性,使用\wbitmap和\dibitmap控制字是不推荐的。更推荐的是,位图应该被内嵌到Windows元文件内,使用\wmetafile控制字。了解更多关于GetDIBitsGetBitmapBits函数、Windows设备独立或设备依赖位图的结构及在图元文件中嵌入位图的信息,请查阅Microsoft Windows3.1软件开发工具包的《程序员参考》第1卷和第2卷。下面列出图片控制关键字:

控制字

涵义

图片信息

\wbmbitspixelN

用于定义平面上一个点的颜色位数。可能的取值为1(单色),4(16色),8(256色)和24(RGB色)。默认为1。

\wbmplanesN

位图颜色平面的数量(必须为1)。

\wbmwidthbytesN

指定每个光栅栏的字节数。这个值必须为一个偶数值,因为Windows图形设备接口(GDI)总是假定一个位图的位的值构成一个整形(2字节)的数组值。换句话说,\wbmwidthbytes乘以8必须等于下一个大于等于\picw值(位图象素宽度)的16的倍数。

图片尺寸,缩放与剪裁

\picwN

如果图象是Windows图元文件,表示xExt(x轴扩展)域;如果是位图或QuickDraw图象,表示图片的像素宽度。参数N为长整型。

\pichN

如果图象是Windows图元文件,表示yExt (y轴扩展)域;如果是位图或QuickDraw图象,表示图片的像素高度。参数N为长整型。

\picwgoalN

按缇计算的图象期望宽度。参数N为长整型。

\pichgoalN

按缇计算的图象期望高度。参数N为长整型。

\picscalexN

水平缩放比例值。参数N为百分比数值(默认为100%)。

\picscaleyN

垂直缩放比例值。参数N为百分比数值(默认为100%)

\picscaled

图象比例适应指定的框架。仅在\macpict 图象中采用。

\picprop

表示这里是应用于一个内嵌图象的形状属性。这是引用控制字。

\defshp

表示该内嵌图片为一个Word艺术字形状。

\piccroptN

按缇计算的顶端剪切值。正数向图片中心剪切;负数则偏离图片中心剪切,在图片边沿增加一空白(默认为0)

\piccropbN

按缇计算的底端剪切值。正数向图片中心剪切;负数则偏离中心剪切,在图片边沿增加一空白(默认为0)

\piccroplN

按缇计算的左端剪切值。正数向图片中心剪切;负数则剪切偏离中心,在图片边沿增加一空白(默认为0)

\piccroprN

按缇计算的右端剪切值。正数向图片中心剪切;负数则剪切偏离中心,在图片边沿增加一空白(默认为0)

图元文件信息

\picbmp

指定一个元文件是否包含一位图。

\picbppN

指定一个元文件位图的像素位数。有效范围1~32,1、4、8、24是可识别的。

图片数据

\binN

图象为二进制格式。紧跟的数字参数N是字节数。和所有其他控制字不一样,该控制字带一个32位参数。

\blipupiN

N 表示图象的每英寸单位(只有某些图象类型需要或输出它)

\blipuid XXXXX

使用为:{\*\blipuid XXXXX},其中XXXX 是图象的16字节唯一号。

\bliptagN

图象主要的唯一标识符。N为长整型值。

\wbitmap 控制字是可选项。如没有指定其他图象类型,图象被认为是Windows位图。如果指定了\wmetafile,参数N 可能是如下类型之一。

类型

参数N

MM_TEXT

1

MM_LOMETRIC

2

MM_HIMETRIC

3

MM_LOENGLISH

4

MM_HIENGLISH

5

MM_TWIPS

6

MM_ISOTROPIC

7

MM_ANISOTROPIC

8

了解更多关于这些类型的信息,请查阅Microsoft Windows3.1软件开发工具包的《程序员参考》第1卷。

如指定\pmmetafile,参数N 可以是如下类型之一。

类型

参数N

PU_ARBITRARY

0x0004

PU_PELS

0x0008

PU_LOMETRIC

0x000C

PU_HIMETRIC

0x0010

PU_LOENGLISH

0x0014

PU_HIENGLISH

0x0018

PU_TWIPS

0x001C

了解更多关于这些类型的信息,查阅《OS/2程序员参考》第2卷。

在二进制格式图象处理时,小心紧跟控制字的空格。读文件时,RTF认为第一个空格是控制字分隔符,后面的空格是文档文本的一部分。因此,任何多余的空格附加到图象中,将导致不可预知的结果。

RTF书写器不应使用回车/换行(CR/LF)组合来中断二进制格式的图象。如果这样做,CR/LF组合被作为文字文本,作为图象数据的一部分。

16进制或二进制格式的图象跟随图象引用控制字。下面示例阐明了该引用关键字的格式:

{\pict\wbitmap0\picw170\pich77\wbmbitspixel1\wbmplanes1\wbmwidthbytes22

\picwgoal505

\pichgoal221

\picscalex172

\picscaley172

49f2000000000273023d1101a030

3901000a000000000273023d98

0048000200000275

02040000200010275023e000000000

273023d000002b90002b90002

b90002b90002b9

0002b90002b90002b90002b90002b90002

b92222b90002b90002b90

002b90002b9

0002b90002b90002b90002b9000

绘图对象

基本格式

绘图对象基本RTF格式如下:

{ \shp   ........  { \*\shpinst  { \spp  { \sn .......... }  { \sp .............. }  }  }

            { \shprslt   ............... }   }

第一个引用字(\shp)总是需要给出。这个控制字将所有图形相关信息组合到一起。其后的目标更改信息被认为是图形的基本信息。下面这些具有值的关键字可以出现在“{ \shp”控制字后的任意位置。

控制字

涵义

图形关键字

\shpleftN

指定图形相对于锚点左边的位置。N的单位为缇。

\shptopN

指定图形相对于锚点顶端的位置。N的单位为缇。

\shpbottomN

指定图形相对于锚点底端的位置。N的单位为缇。

\shprightN

指定图形相对于锚点右边的位置。N的单位为缇。

\shplidN

标识每个图形的唯一数值。主要用于链接型文本框。N的值为一个长整形数。

\shpzN

描述图形的Z-ORDER顺序。Z-ORDER顺序从0开始,表示离顶端最远,逐渐向上直到最上面的图形(N)。出现在文档头的图形将具有一个独立的Z-ORDER顺序,与主文档中的Z-ORDER顺序相区别。例如,头部的最末尾图形与正文中的最末尾图形的可以同时为0。

\shpfhdrN

如果图形在主文档区,设置为0;如果在文档头,设置为1。

\shpbxpage

图形相对于X方向页进行定位。

\shpbxmargin

图形相对于X方向页边距进行定位。

\shpbxcolumn

图形相对于X方向列进行定位。

\shpbxignore

忽略\shpbxpage\shpbxmargin\shpbxcolumn,而采用\posrelh。这些被忽略的属性用于保持旧的阅读器的向后兼容性,以保证其理解\posrelh的涵义。

\shpbypage

图形相对于Y方向页进行定位。

\shpbymargin

图形相对于Y方向页边距进行定位。

\shpbypara

图形相对于Y方向段落进行定位。

\shpbyignore

忽略\shpbypage\shpbymargin\shpbxpara,而采用\posrelh。这些被忽略的属性用于保持旧的阅读器的向后兼容性,以保证其理解\posrelh的涵义。

\shpwrN

指定图形的环绕类型:

1    上下型环绕(图形旁边不允许有文字)

2    四周型环绕

3    没有环绕(如同图形不存在一样环绕)

4    四周型紧密环绕

5    穿越型环绕

\shpwrkN

左右环绕属性(针对\shpwrN中的类型2和类型4):

0      两边均环绕

1      只在左边环绕

2      只在右边环绕

3      只在较宽一边环绕

\shpfblwtxtN

描述相对Z-ORDER顺序:

0      文本位于图形下

1      图形位于文本下

\shplockanchor

锁定图形锚点。

\shptxt

图形文本。该文本必须跟在所有的图形属性之后,并且遵循如下格式:

{ \shptxt  Any valid RTF for the current text box }

注意:对链接型文本框来说,其链接集合中的第一个文本框已包含全部描述,故其后的所有文本均不需要一个\shptxt域了。

\shprslt

描述Word 6.0和Word 95绘图对象能够被放置的位置。

\shpgrp

标识一组图形。跟随该关键字的参数与\shp相同。该组中的图形采用从下至上的Z-Order顺序。

在一个\shpgrp组中,不需要给出{ \shprslt .... }域(也就是说,只有根级别的图形具有一个\shprslt域,该域描述了整个组的信息)。例如:

{ \shpgrp  ....... { \shp ..... (and all sub-items as usual) }

               { \shp ......(and all sub-items as usual) }

注意: { \shpgrp ...... }可以被{ \shp ..... }取代,以便在组中再创建组。

除了\shplid之外,上表中列出的其他控制字不会应用于组中的图形。关于组的更多信息,请参见本规范的引言章节。

控制字

涵义

\background

标识文本背景。这是一个引用控制字。它包含一个{ \shp关键字和所有图形属性。

图对象属性

       大部分的绘图对象由一组属性定义。{ \shp ............控制字后面紧跟{ \*\shpinst,而{ \*\shpinst控制字后面跟随一个图形的所有属性列表。每个属性采用如下格式:

{ \sp  { \sn PropertyName } { \sv PropertyValueInformation } }

绘图对象属性控制字为\sp。每个属性由图形属性组中的一对名称(\sn)和值(\sv)控制字来表述。例如,垂直翻转属性表示为:

{\sp{\sn fFlipV}{\sv 1}}

       在这里,该属性名称为fFlipV,值为1,表示为。所有图形属性遵循这个基本格式。只有显式定义的图形属性才需要用RTF写出。其他属性均采用其默认值(一个属性也可以显式定义为默认值)。

示例

{\shp {\*\shpinst \shptop231\shpleft-10\shpright10212\shpbottom273\shpfblwtxt1\shpbypara\shpbxcolumn\shpwr3{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fBehindDocument}{\sv 1}}
{\sp{\sn pib}{\sv{\pict\pngblip\picw681\pich3\picwgoal13620\pichgoal60\picscalex97\picscaley97
89504e470d0a1a0a0000000d49484452000005fd000000060802000000f655a3330000004949444154789cedd8410d00300cc4b075e8cbba4331553ad908f24e
4df701000000204ecd7601000000003fdced0000000000bef07d0000000032f93e00000000997c1f000000804c0f15f003199eb6975d0000000049454e44ae42
6082
}}}}}\pard\sl-20\slmult0\par

\shp 表示这是一个绘图对象,\pngblip表示png格式,图像数据信息:对象属性的\sn为pib,表示二进制图像数据,数据位于\sv内

{\fs22 \rtlch \ltrch \loch \af10 \hich \af10 \dbch \af4 \lang1033 \langnp1033 \langfe2052 \langfenp2052 
{\object \objemb \f13 \objsetsize \objw1455 \objh1320 {\*\objclass Word.Document.12}
{\*\objdata 010500000200000011000000576f72642e446f63756d656e742e3132000000000000000000003a0000d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000001a00000001000000feffffff0000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
5000000000000}
{\result {\*\shppict {\pict {\*\picprop \shplid1025 {\sp {\sn shapeType}{\sv 75}}{\sp {\sn fFlipH}{\sv 0}}{\sp {\sn fFlipV}{\sv 0}}{\sp {\sn fLockAspectRatio}{\sv 1}}{\sp {\sn fNoFillHitTest}{\sv 1}}{\sp {\sn fFilled}{\sv 0}}{\sp {\sn fLine}{\sv 0}}{\sp {\sn fPreferRelativeResize}{\sv 1}}{\sp {\sn wzName}{\sv Object 1}}{\sp {\sn fLayoutInCell}{\sv 1}}}\piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex100 \picscaley100 \picw97 \pich88 \picwgoal1455 \pichgoal1320 \emfblip {\*\blipuid a24a9f01a24a9f01a24a9f01a24a9f01}010000008000000001000000000000005e000000450000000000000000000000ec090000fd08000020454d4600000100281400000e000000020000000a000000006f00660066006900630065002d0032003000300037005e5c27602d0008000000040000000400000003000000060000000700000005000000070000000700000007000000070000000c0000008000000080000000600000006000000250000000c0000000d0000800e0000001
4000000000000001000000014000000}}}}}

文档样本是内嵌了office2007,因此会生成一个内嵌文档(\objdata部分 )和一个位图对象:\shppict后面有\pict ,表示图片,\emfblip表示图片格式为emf,图片数据和\pict同级

{\pict{\*\picprop\defshp\shplid1025{\sp{\sn shapeType}{\sv 136}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn rotation}{\sv -6094848}}{\sp{\sn fLockAspectRatio}{\sv 0}}
{\sp{\sn gtextUNICODE}{\sv \'d2\'d5\'ca\'f5\'d7\'d6test}}{\sp{\sn gtextFont}{\sv \'cb\'ce\'cc\'e5}}{\sp{\sn gtextFReverseRows}{\sv 0}}{\sp{\sn fGtext}{\sv 1}}{\sp{\sn gtextFVertical}{\sv 1}}{\sp{\sn gtextFShrinkFit}{\sv 1}}
{\sp{\sn gtextFBold}{\sv 0}}{\sp{\sn gtextFItalic}{\sv 0}}{\sp{\sn fShadowOK}{\sv 1}}{\sp{\sn fLineOK}{\sv 1}}{\sp{\sn fillColor}{\sv 0}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn fLine}{\sv 1}}{\sp{\sn wzName}{\sv \'d2\'d5\'ca\'f5\'d7\'d6
 1}}{\sp{\sn posrelh}{\sv 1}}{\sp{\sn posrelv}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}{\sp{\sn fLayoutInCell}{\sv 1}}}\picscalex100\picscaley100\piccropl0\piccropr0\piccropt0\piccropb0
\picw1448\pich6985\picwgoal821\pichgoal3960\wmetafile8\bliptag-223852777\blipupi602{\*\blipuid f2a8471708cf7bd20af2e5c1bae959c7}
0100090000036e1400000800cf01000000000400000003010800050000000b0200000000050000000c0284069701040000002e0118001c000000fb02a8ff0000
0000000090010000008604000002b5c8cfdf00000000000000000000000000000000000000000000000000000000040000002d010000040000002d0100000400
00002d0100001c000000fb02a8ff00000000000090010000008604000002cbcecce5000000000000000000000000000000000000000000000000000000000400
00002d010100040000002d010100040000002d0101000400000002010100040000002d010000040000002d010000040000002d01000005000000090200000002}

\pict图片数据,\defshp表示该内嵌图片为一个Word艺术字形状。艺术字信息位于{\sp{\sn gtextUNICODE}{\sv \'d2\'d5\'ca\'f5\'d7\'d6test}};

{\*\shppict {\pict {\*\picprop \shplid1026 {\sp {\sn shapeType}{\sv 75}}{\sp {\sn fFlipH}{\sv 0}}{\sp {\sn fFlipV}{\sv 0}}{\sp {\sn fLockAspectRatio}{\sv 1}}{\sp {\sn pibName}{\sv 001}}
{\sp {\sn fLineOK}{\sv 1}}{\sp {\sn f3DOK}{\sv 0}}{\sp {\sn fShadowOK}{\sv 1}}{\sp {\sn fNoFillHitTest}{\sv 1}}{\sp {\sn fFilled}{\sv 0}}{\sp {\sn fLine}{\sv 0}}{\sp {\sn fPreferRelativeResize}{\sv 1}}
{\sp {\sn wzName}{\sv \'cd\'bc\'c6\'ac 2}}{\sp {\sn wzDescription}{\sv 001}}{\sp {\sn fLayoutInCell}{\sv 1}}}
\piccropl0 \piccropr0 \piccropt0 \piccropb0 \picscalex73 \picscaley73 \picw784 \pich1104 \picwgoal11766 \pichgoal16565 \jpegblip 
{\*\blipuid 0e5aa7b60e5aa7b60e5aa7b60e5aa7b6}ffd8ffe000104a46494600010101012c012c0000ffe10a6a4578696600004d4d002a0000000800070112000300000
00100010000011a00050000000100000062011b0005000000010000006a012800030000000100020000013100020000001b0000007201320002000000140000008e8769000
400000001000000a2000000ce0000012c000000010000012c0000000141646f62652050686f746f73686f702043532057696e646f77730000323031323a30353a3037203135
a28a00ffd9}}

*\shppict {\pict表示图片,jpegblip 表示图片格式是jpeg

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

frp 内网穿透 linux部署版

frp 内网穿透 linux部署版 前提安装 frp阿里云服务器配置测试服务器配置访问公网 前提 使用 frp&#xff0c;您可以安全、便捷地将内网服务暴露到公网&#xff0c;通过访问公网 IP 直接可以访问到内网的测试环境。准备如下&#xff1a; 公网 IP已部署好的测试服务 IP:端口号阿…

v68.指针

1.取地址运算 1.1 1.2 打印出变量的地址&#xff0c;需要使用 %p&#xff0c;注意后面加运算符 & 。注意输出地址的代码格式。%p会把这个值作地址来输出&#xff0c;输出的结果前面会加0x&#xff0c;并且以16进制的方式来输出地址 注意int 的大小是否和地址大小相同取决…

嵌入式 Linux 下的 LVGL 移植

目录 准备创建工程修改配置修改 lv_drv_conf.h修改 lv_conf.h修改 main.c修改 Makefile 编译运行更多内容 LVGL&#xff08;Light and Versatile Graphics Library&#xff0c;轻量级通用图形库&#xff09;是一个轻量化的、开源的、在嵌入式系统中广泛使用的图形库&#xff0c…

算法:动态规划全解(上)

一、动态规划初识 1.介绍 动态规划&#xff0c;英文&#xff1a;Dynamic Programming&#xff0c;简称DP&#xff0c;如果某一问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的。 例如&#xff1a;有N件物品…

逆向案例三:动态xhr包中AES解密的一般步骤,以精灵数据为例

补充知识&#xff1a;进行AES解密需要知道四个关键字&#xff0c;即密钥key,向量iv,模式mode,填充方式pad 一般网页AES都是16位的&#xff0c;m3u8视频加密一般是AES-128格式 网页链接:https://www.jinglingshuju.com/articles 进行抓包结果返回的是密文&#xff1a; 一般思…

软考48-上午题-【数据库】-数据查询语言DQL3-表的连接查询

一、表的连接查询 数据查询中&#xff0c;经常需要提取两个或者多个表的数据&#xff0c;需要用表的连接来实现若干个表数据的联合查询。格式如下&#xff1a; select 列名1, 列名2, 列名3, ...... from 表1, 表2, ...... where 连接条件 在SQL SERVER中&#xff0c;连接分为…

Apipost自动化测试持续集成配置方法

安装 Apipost-cli npm install -g apipost-cli 运行脚本 安装好Apipost-cli后&#xff0c;在命令行输入生成的命令&#xff0c;即可执行测试用例&#xff0c;运行完成后会展示测试进度并生成测试报告。 Jenkins配置 Apipost cli基于Node js运行 需要在jenkins上配置NodeJs依…

Python中re(正则)模块的使用

re 是 Python 标准库中的一个模块&#xff0c;用于支持正则表达式操作。通过 re 模块&#xff0c;可以使用各种正则表达式来搜索、匹配和操作字符串数据。 使用 re 模块可以帮助在处理字符串时进行高效的搜索和替换操作&#xff0c;特别适用于需要处理文本数据的情况。 # 导入…

【MySQL】MySQL复合查询--多表查询自连接子查询 - 副本

文章目录 1.基本查询回顾2.多表查询3.自连接4.子查询 4.1单行子查询4.2多行子查询4.3多列子查询4.4在from子句中使用子查询4.5合并查询 4.5.1 union4.5.2 union all 1.基本查询回顾 表的内容如下&#xff1a; mysql> select * from emp; ----------------------------…

ubuntu安装新版本的CMake

来到cmake官网选择版本 我需要在嵌入式板子上的Ubuntu18安装使用 故我选择aarch64版本。 按F12进入检查模式得到下载链接。 在板子上运行以下命令&#xff0c;获取安装脚本 wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-aarch64.s…

Django模板(四)

一、include标签 加载一个模板,并在当前上下文中进行渲染。这是一种在模板中 “包含” 其他模板的方式 简单的理解:在当前模板中引入另外一个模板内容 1.1、使用方法 模板名称可以是变量,也可以是单引号或双引号的硬编码(带引号)的字符串 {% include "foo/bar.ht…

接口自动化测试之HTTP协议详解

协议 简单理解&#xff0c;计算机与计算机之间的通讯语言就叫做协议&#xff0c;不同的计算机之间只有使用相同的协议才能通信。所以网络协议就是为计算机网络中进行数据交换而建立的规则&#xff0c;标准或约定的集合。 OSI模型 1978年国际化标准组织提出了“开放系统互联网…

BerDiff: Conditional Bernoulli Diffusion Modelfor Medical Image Segmentation

BerDiff:用于医学图像分割的条件伯努利扩散模型 摘要&#xff1a; 医学图像分割是一项具有挑战性的任务&#xff0c;具有固有的模糊性和高度的不确定性&#xff0c;这主要是由于肿瘤边界不明确和多个似是而非的注释等因素。分割口罩的准确性和多样性对于在临床实践中为放射科…

【UVM_Introduction Factory_2024.02.28】

Introduction 通用验证方法学UVM&#xff08;2014年1.2版本延续至今&#xff09; 作用&#xff1a; 降低验证工程复杂度&#xff0c;保证验证可靠性&#xff0c;提升验证效率 提供一套标准的类库&#xff0c;减轻环境构建的负担&#xff0c;更多的投入制定验证计划和创建测试场…

springboot228高校教师电子名片系统

高校教师电子名片系统的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;名片信息因为其管理内容繁杂&#xff0c;管理数…

【数据结构】数组

第一章、为什么数组的下标一般从0开始编号 提到数组&#xff0c;读者肯定不陌生&#xff0c;甚至还会很自信地说&#xff0c;数组很简单。编程语言中一般会有数组这种数据类型。不过&#xff0c;它不仅是编程语言中的一种数据类型&#xff0c;还是基础的数据结构。尽管数组看起…

代码随想录算法训练营29期|day64 任务以及具体安排

第十章 单调栈part03 有了之前单调栈的铺垫&#xff0c;这道题目就不难了。 84.柱状图中最大的矩形class Solution {int largestRectangleArea(int[] heights) {Stack<Integer> st new Stack<Integer>();// 数组扩容&#xff0c;在头和尾各加入一个元素int [] ne…

半小时到秒级,京东零售定时任务优化怎么做的?

导言&#xff1a; 京东零售技术团队通过真实线上案例总结了针对海量数据批处理任务的一些通用优化方法&#xff0c;除了供大家借鉴参考之外&#xff0c;也更希望通过这篇文章呼吁大家在平时开发程序时能够更加注意程序的性能和所消耗的资源&#xff0c;避免在流量突增时给系统…

【web APIs】3、(学习笔记)有案例!

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、概念其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 二、案例举例电梯导航 前言 掌握阻止事件冒泡的方法理解事件委托的实现原理 一、概念…

【MATLAB源码-第151期】基于matlab的开普勒化算法(KOA)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 开普勒优化算法&#xff08;Kepler Optimization Algorithm, KOA&#xff09;是一个虚构的、灵感来自天文学的优化算法&#xff0c;它借鉴了开普勒行星运动定律的概念来设计。在这个构想中&#xff0c;算法模仿行星围绕太阳的…