【WPF.NET开发】OpenType字体

本文内容

  1. OpenType 字体格式
  2. 变量
  3. 大写字母
  4. 连字
  5. 花体
  6. 备用项
  7. 数字样式
  8. 版式类

本主题概述了 Windows Presentation Foundation (WPF) 中 OpenType 字体技术的一些主要功能。

1、OpenType 字体格式

OpenType 字体格式是 TrueType® 字体格式的扩展,增加了对 PostScript 字体数据的支持。 OpenType 字体格式由 Microsoft 和 Adobe Corporation 联合开发。 无论字体包含 TrueType 边框还是 CFF (PostScript) 边框,OpenType 字体和支持 OpenType 字体的操作系统服务都向用户提供一种简单的字体安装和使用方式。

OpenType 字体格式解决了以下开发人员挑战:

  • 更广泛的多平台支持。

  • 更出色的国际字符集支持。

  • 更优的字体数据保护。

  • 更小的文件大小,让字体发布更加高效。

  • 更广泛的高级版式控件支持。

 备注

Windows SDK 包含一组可用于 Windows Presentation Foundation (WPF) 应用程序的示例 OpenType 字体。 这些字体提供本主题余下部分所述的大多数功能。

高级版式扩展

高级版式表格(OpenType 布局表格)扩展了具有 TrueType 或 CFF 边框的字体的功能。 OpenType 布局字体包含一些其他信息,可扩展字体功能以支持高质量国际版式。 大多数 OpenType 字体仅体现全部可用 OpenType 功能的一部分。 OpenType 字体提供以下功能。

  • 字符与字形之间的丰富映射,可支持连字、定位格式、备用项以及其他字体替换功能。

  • 支持二维定位和字形附加。

  • 字体中包含的显式脚本和语言信息,使文本处理应用程序可相应调整其行为。

在 OpenType 规范的“字体文件表格”部分中对 OpenType 布局表格进行了更详细的介绍。

此概述的其余部分介绍了一些直观有趣的 OpenType 功能的广度和灵活性(这些功能由 Typography 对象的属性公开)。 

2、变量

变量用于呈现不同的版式风格,例如上标和下标。

上标和下标

通过 Variants 属性可以设置 OpenType 字体的上标和下标值。

以下文本显示 Palatino Linotype 字体的上标。

opentype-superscripts.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Palatino Linotype 字体的上标。

XAML复制

<Paragraph FontFamily="Palatino Linotype">
  2<Run Typography.Variants="Superscript">3</Run>
  14<Run Typography.Variants="Superscript">th</Run>
</Paragraph>

以下文本显示 Palatino Linotype 字体的下标。

opentype-subscripts.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Palatino Linotype 字体的下标。

XAML复制

<Paragraph FontFamily="Palatino Linotype">
  H<Run Typography.Variants="Subscript">2</Run>O
  Footnote<Run Typography.Variants="Subscript">4</Run>
</Paragraph>

上标和下标的修饰用法

也可使用上标和下标来营造混合大小写文本的修饰效果。 以下文本显示 Palatino Linotype 字体的上标和下标文本。 注意,大写字母不受影响。

opentype-superscripts-subscripts.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义字体的上标和下标。

XAML复制

<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Superscript">
  Chapter One
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Variants="Subscript">
  Chapter One
</Paragraph>

3、大写字母

大写字母是一组以大写样式字形呈现文本的版式形式。 通常情况下,当以全大写呈现文本时,字母之间的间距可能看起来很小,字母的权重和比例看起来会很大。 OpenType 支持多种大写字母的样式格式,包括小体大写字母、小号大写字母、标题和大写字母间距。 通过这些样式格式可控制大写字母的外观。

以下文本显示 Pescadero 字体的标准大写字母,其后接样式为“SmallCaps”和“AllSmallCaps”的字母。 本例中,对所有三个单词均使用相同的字体大小。

opentype-capitals.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pescadero 字体的大写字母。 使用“SmallCaps”格式时会忽略任何前导大写字母。

XAML复制

<Paragraph FontFamily="Pescadero" FontSize="48">
  <Run>CAPITALS</Run>
  <Run Typography.Capitals="SmallCaps">Capitals</Run>
  <Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>

标题大写字母

标题大写字母权重和比例更小,外观比普通大写字母更加雅致。 标题大写字母通常用于作为标题的大号字体中。 以下文本显示 Pescadero 字体的普通大写字母和标题大写字母。 请注意第二行文本的宽度更窄。

opentype-titling-capitals.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pescadero 字体的标题大写字母。

XAML复制

<Paragraph FontFamily="Pescadero">
  <Run Typography.Capitals="Titling">chapter one</Run>
</Paragraph>

大写字母间距

大写字母间距功能让你可以在使用全大写字母文本时提供更宽的间距。 大写字母通常设计为与小写字母混合使用。 大写字母和小写字母之间看起来比较美观的间距在使用全大写字母时可能会显得过紧。 以下文本显示 Pescadero 字体的普通间距和大写字母间距。

opentype-capital-spacing.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pescadero 字体的大写字母间距。

XAML复制

<Paragraph FontFamily="Pescadero">
  <Run Typography.CapitalSpacing="True">CHAPTER ONE</Run>
</Paragraph>

4、连字

连子是为使文本更具可读性或更加美观而由两个或更多字形形成的一个单一字形。 OpenType 字体支持四种类型的连字:

  • 标准连字。 旨在增强可读性。 标准连字包括“fi”、“fl”和“ff”。

  • 上下文连字。 旨在通过在组成连字的字符之间提供更好的联结行为来增强可读性。

  • 自由连字。 重在修饰性,并非专为可读性而设计。

  • 历史连字。 重在历史性,并非专为可读性而设计。

以下文本显示 Pericles 字体的标准连字字形。

opentype-standard-ligatures.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pericles 字体的标准连字字形。

XAML复制

<Paragraph FontFamily="Pericles" Typography.StandardLigatures="True">
  <Run Typography.StylisticAlternates="1">FI</Run>
  <Run Typography.StylisticAlternates="1">FL</Run>
  <Run Typography.StylisticAlternates="1">TH</Run>
  <Run Typography.StylisticAlternates="1">TT</Run>
  <Run Typography.StylisticAlternates="1">TV</Run>
  <Run Typography.StylisticAlternates="1">TW</Run>
  <Run Typography.StylisticAlternates="1">TY</Run>
  <Run Typography.StylisticAlternates="1">VT</Run>
  <Run Typography.StylisticAlternates="1">WT</Run>
  <Run Typography.StylisticAlternates="1">YT</Run>
</Paragraph>

以下文本显示 Pericles 字体的自由连字字形。

opentype-discretionary-ligatures.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pericles 字体的自由连字字形。

XAML复制

<Paragraph FontFamily="Pericles" Typography.DiscretionaryLigatures="True">
  <Run Typography.StylisticAlternates="1">CO</Run>
  <Run Typography.StylisticAlternates="1">LA</Run>
  <Run Typography.StylisticAlternates="1">LE</Run>
  <Run Typography.StylisticAlternates="1">LI</Run>
  <Run Typography.StylisticAlternates="1">LL</Run>
  <Run Typography.StylisticAlternates="1">LO</Run>
  <Run Typography.StylisticAlternates="1">LU</Run>
</Paragraph>

默认情况下,Windows Presentation Foundation (WPF) 中的 OpenType 字体启用标准连字。 例如,如果使用 Palatino Linotype 字体,则标准连字“fi”、“ff”和“fl”显示为组合字符字形。 请注意,每个标准连字的字符对之间彼此相连。

opentype-standard-ligatures-palatino.gif?view=netframeworkdesktop-4.8

但是,可禁用标准连字功能,从而使“ff”等标准连字显示为两个单独的字形,而不显示为一个组合字符字形。

disabled-opentype-standard-ligatures.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性禁用 Palatino Linotype 字体的标准连字字形。

XAML复制

<!-- Set standard ligatures to false in order to disable feature. -->
<Paragraph Typography.StandardLigatures="False" FontFamily="Palatino Linotype" FontSize="72">
  fi ff fl
</Paragraph>

5、花体

花体是使用精美修饰的装饰性字形,通常与书法相关。 以下文本显示 Pescadero 字体的标准和花体字形。

opentype-standard-swash-glyphs.gif?view=netframeworkdesktop-4.8

花体通常用作事件公告等简短文章中的修饰元素。 以下文本使用花体强调事件名称的大写字母。

opentype-swashes.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义字体花体。

XAML复制

<Paragraph FontFamily="Pescadero" TextBlock.TextAlignment="Center">
  Wishing you a<LineBreak/>
  <Run Typography.StandardSwashes="1" FontSize="36">Happy New Year!</Run>
</Paragraph>

连接形式花体

花体字形的某些组合可能导致文本外观欠佳,例如相邻字母的下行处出现重叠。 通过连接形式花体,可使用能生成更佳外观的替代花体字形。 以下文本显示同一单词应用连接形式花体前后的外观。

opentype-contextual-swashes.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pescadero 字体的连接形式花体。

XAML复制

<Paragraph FontFamily="Pescadero" Typography.StandardSwashes="1">
  Lyon <Run Typography.ContextualSwashes="1">L</Run>yon
</Paragraph>

6、备用项

备用项是可替代标准字形的字形。 OpenType 字体(例如以下示例中使用的 Pericles 字体)可包含用于塑造不同文本外观的备用字形。 以下文本显示 Pericles 字体的标准字形。

opentype-standard-glyphs.gif?view=netframeworkdesktop-4.8

Pericles OpenType 字体包含其他字形,可为标准自行集提供样式备用项。 以下文本显示样式备用字形。

opentype-stylistic-alternate-glyphs.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pericles 字体的样式备用字形。

XAML复制

<Paragraph FontFamily="Pericles">
  <Run Typography.StylisticAlternates="1">A</Run>NCIENT
  GR<Run Typography.StylisticAlternates="1">EE</Run>K
  MYTH<Run Typography.StylisticAlternates="1">O</Run>LOGY
</Paragraph>

以下文本显示 Pericles 字体的几种其他样式备用字形。

opentype-stylistic-alternate-glyphs-pericles.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何定义其他样式备用字形。

XAML复制

<Paragraph FontFamily="Pericles">
  <Run Typography.StylisticAlternates="1">A</Run>
  <Run Typography.StylisticAlternates="2">A</Run>
  <Run Typography.StylisticAlternates="3">A</Run>
  <Run Typography.StylisticAlternates="1">C</Run>
  <Run Typography.StylisticAlternates="1">E</Run>
  <Run Typography.StylisticAlternates="1">G</Run>
  <Run Typography.StylisticAlternates="1">O</Run>
  <Run Typography.StylisticAlternates="1">Q</Run>
  <Run Typography.StylisticAlternates="1">R</Run>
  <Run Typography.StylisticAlternates="2">R</Run>
  <Run Typography.StylisticAlternates="1">S</Run>
  <Run Typography.StylisticAlternates="1">Y</Run>
</Paragraph>

随机备用连接形式

随机备用连接形式为单个字符提供多种备用字形。 实现脚本类型字体时,此功能可通过使用一组随机选择的外观稍有差异的字形来模拟手写内容。 以下文本使用 Lindsey 字体的随机备用连接形式。 请注意字母“a”外观稍有变化

opentype-random-contextual-alternates.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Lindsey 字体的随机备用连接形式。

XAML复制

<TextBlock FontFamily="Lindsey">
  <Run Typography.ContextualAlternates="True">
    a banana in a cabana
  </Run>
</TextBlock>

历史形式

历史形式指过去常见的版式约定。 以下文本使用 Palatino Linotype 字体的一种历史字形形式显示短语“Boston, Massachusetts”。

opentype-historical-forms.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Palatino Linotype 字体的历史形式。

XAML复制

<Paragraph FontFamily="Palatino Linotype">
  <Run Typography.HistoricalForms="True">Boston, Massachusetts</Run>
</Paragraph>

7、数字样式

OpenType 字体支持多种可用于文本中数值的功能。

分数

OpenType 字体支持多种分数样式,包括横式分数和竖式分数。

以下文本显示 Palatino Linotype 字体的分数样式。

opentype-slashed-stacked-fractions.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Palatino Linotype 字体的分数样式。

XAML复制

<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Slashed">
  1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>
<Paragraph FontFamily="Palatino Linotype" Typography.Fraction="Stacked">
  1/8 1/4 3/8 1/2 5/8 3/4 7/8
</Paragraph>

旧样式数字

OpenType 字体支持旧样式数字格式。 此格式对于显示不再是标准样式的数字非常有用。 以下文本以 Palatino Linotype 字体的标准和旧样式数字格式显示 18 世纪日期。

opentype-old-style-numerals.gif?view=netframeworkdesktop-4.8

以下文本显示 Palatino Linotype 字体的标准数字,后跟旧样式数字。

opentype-old-style-numeral-sets.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Palatino Linotype 字体的旧样式数字。

XAML复制

<Paragraph FontFamily="Palatino Linotype">
  <Run Typography.NumeralStyle="Normal">1234567890</Run>
  <Run Typography.NumeralStyle="OldStyle">1234567890</Run>
</Paragraph>

比例数字和表格式数字

OpenType 字体支持比例数字和表格式数字功能,可在使用数字时控制宽度对齐。 比例数字将每个数字视为具有不同的宽度—“1”窄于“5”。 表格式数字被视为宽度相等的数字,因此它们可垂直对齐,从而增强财务类型信息的可读性。

以下文本使用 Miramonte 字体显示第一列中的两个表格式数字。 请注意数字“5”和“1”之间的宽度差异。 第二列显示相同的两个数值,并通过使用表格式数字功能调整其宽度。

opentype-proportional-tabular-figures.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Miramonte 字体的比例数字和表格式数字。

XAML复制

<TextBlock FontFamily="Miramonte">
  <Run Typography.NumeralAlignment="Proportional">114,131</Run>
</TextBlock>
<TextBlock FontFamily="Miramonte">
  <Run Typography.NumeralAlignment="Tabular">114,131</Run>
</TextBlock>

斜线零

OpenType 字体支持斜线零数字格式来强调字母“O”和数字“0”之间的差异。 斜线零数字通常用于财务和商务信息中的标识符。

以下文本显示使用 Miramonte 字体的订单标识符。 第一行使用标准数字。 第二行使用斜线零数字,以便更易于与大写字母“O”进行区分。

opentype-slashed-zero-numerals.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Miramonte 字体的斜线零数字。

XAML复制

<Paragraph FontFamily="Miramonte">
  <Run>Order #0048-OTC-390</Run>
  <LineBreak/>
  <Run Typography.SlashedZero="True">Order #0048-OTC-390</Run>
</Paragraph>

8、版式类

Typography 对象公开 OpenType 字体支持的功能集。 通过在标记中设置 Typography 的属性,可轻松创作使用 OpenType 功能的文档。

以下文本显示 Pescadero 字体的标准大写字母,其后接样式为“SmallCaps”和“AllSmallCaps”的字母。 本例中,对所有三个单词均使用相同的字体大小。

opentype-capitals.gif?view=netframeworkdesktop-4.8

以下标记示例演示如何使用 Typography 对象的属性定义 Pescadero 字体的大写字母。 使用“SmallCaps”格式时会忽略任何前导大写字母。

XAML复制

<Paragraph FontFamily="Pescadero" FontSize="48">
  <Run>CAPITALS</Run>
  <Run Typography.Capitals="SmallCaps">Capitals</Run>
  <Run Typography.Capitals="AllSmallCaps">Capitals</Run>
</Paragraph>

以下代码示例完成与先前的标记事例相同的任务。

C#复制

MyParagraph.FontFamily = new FontFamily("Pescadero");
MyParagraph.FontSize = 48;

Run run_1 = new Run("CAPITALS ");
MyParagraph.Inlines.Add(run_1);

Run run_2 = new Run("Capitals ");
run_2.Typography.Capitals = FontCapitals.SmallCaps;
MyParagraph.Inlines.Add(run_2);

Run run_3 = new Run("Capitals");
run_3.Typography.Capitals = FontCapitals.AllSmallCaps;
MyParagraph.Inlines.Add(run_3);

MyParagraph.Inlines.Add(new LineBreak());

版式类属性

下表列出了 Typography 对象的属性、值和默认设置。

展开表

properties默认值
AnnotationAlternates数值 - 字节0
CapitalsAllPetiteCaps | AllSmallCaps | Normal | PetiteCaps | SmallCaps | Titling | UnicaseFontCapitals.Normal
CapitalSpacingBooleanfalse
CaseSensitiveFormsBooleanfalse
ContextualAlternatesBooleantrue
ContextualLigaturesBooleantrue
ContextualSwashes数值 - 字节0
DiscretionaryLigaturesBooleanfalse
EastAsianExpertFormsBooleanfalse
EastAsianLanguageHojoKanji | Jis04 | Jis78 | Jis83 | Jis90 | NlcKanji | Normal | Simplified | Traditional | TraditionalNamesFontEastAsianLanguage.Normal
EastAsianWidthsFull | Half | Normal | Proportional | Quarter | ThirdFontEastAsianWidths.Normal
FractionNormal | Slashed | StackedFontFraction.Normal
HistoricalFormsBooleanfalse
HistoricalLigaturesBooleanfalse
KerningBooleantrue
MathematicalGreekBooleanfalse
NumeralAlignmentNormal | Proportional | TabularFontNumeralAlignment.Normal
NumeralStyleBooleanFontNumeralStyle.Normal
SlashedZeroBooleanfalse
StandardLigaturesBooleantrue
StandardSwashes数值 - 字节0
StylisticAlternates数值 - 字节0
StylisticSet1Booleanfalse
StylisticSet2Booleanfalse
StylisticSet3Booleanfalse
StylisticSet4Booleanfalse
StylisticSet5Booleanfalse
StylisticSet6Booleanfalse
StylisticSet7Booleanfalse
StylisticSet8Booleanfalse
StylisticSet9Booleanfalse
StylisticSet10Booleanfalse
StylisticSet11Booleanfalse
StylisticSet12Booleanfalse
StylisticSet13Booleanfalse
StylisticSet14Booleanfalse
StylisticSet15Booleanfalse
StylisticSet16Booleanfalse
StylisticSet17Booleanfalse
StylisticSet18Booleanfalse
StylisticSet19Booleanfalse
StylisticSet20Booleanfalse
VariantsInferior | Normal | Ordinal | Ruby | Subscript | SuperscriptFontVariants.Normal

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

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

相关文章

Linux-ARM裸机(十一)-UART串口通信

无论单片机开发还是嵌入式 Linux 开发&#xff0c;串口都是最常用到的外设。可通过串口将开发板与电脑相连&#xff0c;然后在电脑上通过串口调试助手来调试程序。还有很多的模块&#xff0c;比如蓝牙、GPS、 GPRS 等都使用的串口来与主控进行通信的&#xff0c;在嵌入式 Linux…

java如何修改windows计算机本地日期和时间?

本文教程&#xff0c;主要介绍&#xff0c;在java中如何修改windows计算机本地日期和时间。 目录 一、程序代码 二、运行结果 一、程序代码 package com;import java.io.IOException;/**** Roc-xb*/ public class ChangeSystemDate {public static void main(String[] args)…

compose 实验

cd /opt mkdir compose_nginx cd compose_nginx mkdir nginx cd nginx/ 此时顺便将nginx安装包拖进来 vim Dockerfile mkdir /opt/compose_nginx/wwwroot echo "<h1>this is test web</h1>" > /opt/compose_nginx/wwwroot/index.html docker netw…

【Kotlin】协程的字节码原理

前言 协程是Koltin语言最重要的特性之一&#xff0c;也是最难理解的特性。网上关于kotlin协程的描述也是五花八门&#xff0c;有人说它是轻量级线程&#xff0c;有人说它是无阻塞式挂起&#xff0c;有人说它是一个异步框架等等&#xff0c;众说纷芸。甚至还有人出了书籍专门介…

HTML--CSS--浮动布局及定位布局

正常文档布局 块元素独占一行 行内元素在有多个的时候&#xff0c;就是从左到右排在一行 块元素包括&#xff1a;div,p,hr 行内元素&#xff1a;span,i,img 浮动布局 float 属性&#xff1a; left 向左 right 向右 作用我目前看起来就是浮动元素的宽度是由内容决定的&#x…

MySQL面试题 | 10.精选MySQL面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

LLM之幻觉(二):大语言模型LLM幻觉缓减技术综述

LLM幻觉缓减技术分为两大主流&#xff0c;梯度方法和非梯度方法。梯度方法是指对基本LLM进行微调&#xff1b;而非梯度方法主要是在推理时使用Prompt工程技术。LLM幻觉缓减技术&#xff0c;如下图所示&#xff1a; LLM幻觉缓减技术值得注意的是&#xff1a; 检索增强生成&…

pytorch集智-5手写数字识别器-卷积神经网络

1 简介 简称&#xff1a;CNN&#xff0c;convolutional neural network 应用场景&#xff1a;图像识别与分类&#xff08;CNN&#xff09;&#xff0c;看图说话&#xff08;CNNRNN&#xff09;等 优越性&#xff1a;和多层感知机相比&#xff0c;cnn可以识别独特的模式&…

如何做用户分层和标签体系

“活动作了一场接一场&#xff0c;简直要累死了&#xff0c;拉进来的客户也没有多少&#xff0c;投入产出完全不成比例&#xff0c;怎么办&#xff1f;“ “有那么多注册用户&#xff0c;但是GMV怎么才这么点&#xff0c;他们怎么不买啊&#xff0c;难道都是羊毛党&#xff1f;…

使用 TiUP 部署 TiDB 集群

TIDB优点 支持分布式且支持事务的关系型数据库&#xff0c;不用考虑分库分表 同时满足了可伸缩&#xff0c;高可用&#xff0c;关系型&#xff0c;支持事务。 基本上按官网的文档来就行了。 在线部署 以普通用户身份登录中控机。以 tidb 用户为例&#xff0c;后续安装 TiUP …

常用界面设计组件 —— 窗体(QT)

二、常用界面设计组件2.1 窗体2.1.1 设置窗体位置、大小及背景颜色2.1.2 设置窗体标题2.1.3 多窗体调用 二、常用界面设计组件 组件是GUI的基本元素&#xff0c;也称为UI控件。它接受来自底层平台的不同用户事件&#xff0c;如鼠标和键盘事件&#xff08;以及其它事件&#xf…

漏洞复现-Yearning front 任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

7_1 tesseract 安装及使用

1、 安装tesseract   OCR&#xff0c;即Optical Character Recognition&#xff0c;光学字符识别&#xff0c;是指通过扫描字符&#xff0c;然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说&#xff0c;它们都是一些不规则的字符&#xff0c;这些字符确实是由字…

助力工业焊缝质量检测,YOLOv7【tiny/l/x】不同系列参数模型开发构建工业焊接场景下钢材管道焊缝质量检测识别分析系统

焊接是一个不陌生但是对于开发来说相对小众的场景&#xff0c;在我们前面的博文开发实践中也有一些相关的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a;《轻量级模型YOLOv5-Lite基于自己的数据集【焊接质量检测】从零构建模型超详细教程》 《基于DeepLabV3Plus…

Android 仿快手视频列表,RecyclerView与Banner联动效果

这是看到群里讨论过快手APP的一个观看他人视频列表的一个联动效果&#xff0c;但是并不是完全按照这个软件的效果来做的&#xff0c;只是参考&#xff0c;并不是完全仿照这个软件来做的&#xff0c;没时间去优化排版问题了&#xff0c;请见谅&#xff0c;如图&#xff1a; 实现…

[链路层] 点对点协议 PPP

目录 1、PPP协议的特点 2、PPP协议的组成和帧格式 3、PPP协议的工作状态 目前使用得最广泛的数据链路层协议是点对点协议PPP(Point-to-Point Protocol)。 1、PPP协议的特点 我们知道&#xff0c;互联网用户通常都要连接到某个 ISP 才能接入到互联网。PPP 协议就是用户计算机…

【物以类聚】给el-image预览多张图片增加提示文字,让每张图片有所分类

【物以类聚】给el-image预览多张图片增加提示文字&#xff0c;让每张图片有所分类 一、需求二、el-image三、实施步骤3.1 导包3.2 改造3.3 引入 三、效果 一、需求 点击地图上的一张图片&#xff0c;弹出所有相关的图片资源&#xff0c;图片资源上显示每个图片的所属类型。 二…

一文读懂「Large Language Model,LLM」大语言模型

中国大语言模型产业价值链 资料 艾瑞咨询&#xff1a;https://www.iresearch.com.cn/Detail/report?id4166&isfree0&type

五指CMS copyfrom.php SQL注入漏洞复现(CVE-2023-52064)

0x01 产品简介 WUZHI CMS是北京五指互联科技有限公司 的一套基于PHP和MySQL的开源内容管理系统,响应式布局,一个网站兼容多个终端 微信接口全支持,快速构建微营销平台 开放接口,支持第三方APP无缝接入。 0x02 漏洞概述 Wuzhicms 内容管理系统的/core/admin/copyfrom.p…

vue基于spring boot框架的发艺美发店理发店管理系统的设计q9xpe

店铺信息、美发信息是发艺美发店管理系统的重要组成部分&#xff0c;信息清晰、详细、准确&#xff0c;能够有效地促进发艺美发店管理系统的运行[5]。基础设定函数是对整个系统的总体布局进行合理安排&#xff0c;包括&#xff1a;店铺活动、物品信息、领用信息等。通过对各类资…