【Pygame手册03/20】用于绘制形状的 pygame 模块

目录

  • 一、说明
  • 二、画图函数
    • 2.1 接口draw下的函数
    • 2.2 pygame.draw.rect()
    • 2.3 pygame.draw.polygon()
    • 2.4 pygame.draw.circle()
    • 2.5 pygame.draw.ellipse()
    • 2.6 pygame.draw.arc()
    • 2.7 pygame.draw.line ()
    • 2.8 pygame.draw.lines()
    • 2.9 pygame.draw.aaline()
    • 2.10 pygame.draw.aalines()
  • 三、绘图模块示例

一、说明

   本文对pygame的接口draw进行系统介绍。绘制几何图,不同于图像显示,它是严格按照几何坐标进行。本文对九个相关函数进行介绍。方便开发人员查阅。

二、画图函数

2.1 接口draw下的函数

   draw用于绘制形状的 pygame 模块。绘出的多数是几何形状。如下表所示:

函数功能
pygame.draw.rect绘制矩形
pygame.draw.polygon绘制多边形
pygame.draw.circle画一个圆
pygame.draw.ellipse绘制椭圆
pygame.draw.arc绘制椭圆弧
pygame.draw.line画一条直线
pygame.draw.lines绘制多个连续的直线段
pygame.draw.aaline绘制一条抗锯齿直线
pygame.draw.aalines绘制多个连续的直线抗锯齿线段

   在曲面上绘制几个简单的形状。这些函数将适用于 渲染为任何格式的图面。

   大多数函数都采用 width 参数来表示笔画的大小 (厚度)围绕形状的边缘。如果传递宽度为 0 的形状 将被填充(实心)。

   所有绘图功能都遵循曲面的裁剪区域,并将 被限制在那个区域。这些函数返回一个矩形,表示 已更改像素的边界区域。此边界矩形是“最小值” 包围受影响区域的边界框。

   所有绘图函数都接受一个 color 参数,该参数可以是 以下格式:

   一个pygame.Color用于颜色表示的 pygame 对象对象

  • 颜色表示对象的 pygame.Colorpygame 对象
  • an (RGB) triplet (tuple/list)
  • an (RGBA) quadruplet (tuple/list)
  • 已映射到表面像素格式的整数值(请参阅 pygame.Surface.map_rgb()将颜色对象转换为颜色值;反之 pygame.Surface.unmap_rgb()将映射的整数颜色值转换为颜色对象)

   颜色的 alpha 值将直接写入曲面(如果 表面包含像素 alpha),但绘制函数不会绘制 透明。

   这些功能会暂时锁定它们正在操作的表面。多 通过锁定和解锁曲面,可以加快顺序绘图调用 绘制调用周围的对象(请参阅pygame.Surface.lock()锁定 Surface 内存以进行像素访问和pygame.Surface.unlock()从像素访问中解锁 Surface 内存).

   注意 请参阅pygame.gfxdraw用于绘制形状的 pygame 模块用于替代绘制方法的模块。pygame.draw中。

2.2 pygame.draw.rect()

  • 绘制矩形
    rect(surface, color, rect) -> Rect
    rect(surface, color, rect, width=0, border_radius=0, border_top_left_radius=-1, border_top_right_radius=-1, border_bottom_left_radius=-1, border_bottom_right_radius=-1) -> Rect

  • 在给定Surface上绘制一个矩形。

参数:
surface (Surface) 要绘制的曲面
color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
rect (Rect) – 要绘制的矩形、位置和尺寸
width (int) – (可选)用于线条粗细或指示 矩形将被填充(不要与宽度值混淆 的参数)rect

if ,(默认)填充矩形width == 0
if ,用于线条粗细width > 0
if ,则不会绘制任何内容width < 0

   在 pygame 2.1.1 中更改: 现在,绘制具有宽度的矩形时,可以在 rect 的区域,而不是使用对 draw.lines() 的内部调用, 其中一半的宽度溢出到矩形区域之外。
圆角矩形
   border_radius (int) – (可选)用于绘制带有圆角的矩形。 支持的范围为 [0, min(height, width) / 2],其中 0 表示矩形 没有圆角。
   border_top_left_radius (int) – (可选)用于设置左上角的值 边境。如果未设置此值,它将使用 border_radius 值。
   border_top_right_radius (int) – (可选)用于设置右上角的值 边境。如果未设置此值,它将使用 border_radius 值。
   border_bottom_left_radius (int) – (可选)用于设置左下角的值 边境。如果未设置此值,它将使用 border_radius 值。
   border_bottom_right_radius (int) --(可选)用于设置右下角的值 边境。如果未设置此值,它将使用 border_radius 值。

   如果它将绘制没有圆角的矩形border_radius < 1
   如果 Border radii 中的任何一个具有 Value,它将使用 border_radius 的值< 0
   如果矩形同一侧的半径之和大于矩形大小,则半径将缩放

返回
   一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是给定参数的位置,其宽度和高度将为 0。

返回类型:Rect

   注意 这pygame.Surface.fill()用纯色填充 Surface方法同样适用于绘图填充矩形,并且可以在某些平台上进行硬件加速。

2.3 pygame.draw.polygon()

  •    绘制多边形
    多边形(表面、颜色、点)->矩形
    polygon(surface, color, points, width=0) -> rect
    在给定曲面上绘制多边形。

  • 参数
    surface (Surface) – 要绘制的曲面

  1. color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])

  2. points (tuple(coordinate) or list(coordinate)) – 由 3 个或更多个 (x, y) 坐标组成的序列,这些坐标组成 多边形的顶点,序列中的每个坐标必须是 元组/列表/pygame.math.Vector2二维向量2 个整数/浮点数, 例如:[(x1, y1), (x2, y2), (x3, y3)]

  3. width (int) – (可选)用于线条粗细或指示 要填充的多边形

  • 如果 width == 0,(默认)填充多边形
  • 如果width> 0,则用于线条粗细
  • 如果width< 0,则不会绘制任何内容

   注意:使用值时,边线将增长 在多边形的原始边界之外。有关更多详细信息 边缘线的粗细如何增长,请参阅注释 的width> 1widthpygame.draw.line()画一条直线功能。

返回
   如果未绘制任何像素 bounding rect 的位置将是参数中第一个点的位置(浮点值将被截断)及其宽度和 高度将为 0points

返回类型: Rect

错误给出

  • ValueError – 如果(必须至少有 3 个点)len(points) < 3
  • TypeError – 如果不是序列或不是序列 包含数字对pointspoints

注意:对于 aapolygon,请使用 aalines() 且closed=True。

2.4 pygame.draw.circle()

   画一个圆

  • circle(surface, color, center, radius) -> Rect

  • circle(surface, color, center, radius, width=0, draw_top_right=None, draw_top_left=None, draw_bottom_left=None, draw_bottom_right=None) -> Rect

   在给定曲面上绘制一个圆。

   参数

  • surface (Surface) – 要绘制的曲面
  • color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
  • center (tuple(int or float, int or float) or list(int or float, int or float) or Vector2(int or float, int or float, intor float)) – 圆的中心点,作为 2 个整数/浮点数的序列, 例如:(x, y)
  • radius (int 或 float) – 圆的半径,从参数测量, 如果小于 1,则不会绘制任何内容centerradius
  • width (int) --(可选)用于线条粗细或指示 这个圆圈要被填满

if ,width == 0 (默认)填充圆圈
if ,width > 0 用于线条粗细
if ,width < 0 则不会绘制任何内容
注意 width > 1,边线只会向外增长 。

  • draw_top_right (bool) – (可选)如果设置为 True,则为右上角 的圆圈将被绘制
  • draw_top_left (bool) – (可选)如果设置为 True,则为左上角 的圆圈将被绘制
  • draw_bottom_left (bool) – (可选)如果设置为 True,则为左下角 的圆圈将被绘制
  • draw_bottom_right(bool) --(可选)如果设置为 True,则右下角 的圆圈将被绘制

   如果任何draw_circle_part为 True,则它将绘制所有具有 True 的圆部分value,否则将绘制整个圆圈。

返回: 一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是参数值 (float 值将被截断),其宽度和高度将为 0center

返回类型:Rect

出错提示:

  • TypeError – if center is not a sequence of two numbers
  • TypeError – if radius is not a number

   在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。 当半径为 0(坐标处的像素)时,不绘制任何内容 用于在半径等于 0 时绘制。 参数接受 Floats 和 Vector2。 改进了绘图算法,使其看起来更像一个圆。centercenter

   在 pygame 2.0.0.dev8 中更改: 添加了对绘制圆象限的支持。

2.5 pygame.draw.ellipse()

   绘制椭圆
ellipse(surface, color, rect) -> Rect
ellipse(surface, color, rect, width=0) -> Rect

   在给定曲面上绘制椭圆。

参数

  • surface (Surface) – 要绘制的曲面
  • color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
  • rect (Rect) – 表示 椭圆,椭圆将在矩形内居中并有界 由它
  • wodth (int) – (可选)用于线条粗细或指示 椭圆将被填充(不要与宽度值混淆 的参数)rect

if width == 0, (default) 填充 ellipse
if width > 0, 用所给线画出
if width < 0, 无椭圆被画出

   注意 使用值时,边线只会增长 从参数的原始边界向内。
返回
   一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是给定参数的位置,其宽度和高度将为0的rect

返回类型 Rect
在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。

2.6 pygame.draw.arc()

绘制椭圆弧
arc(surface, color, rect, start_angle, stop_angle) -> rect
arc(surface, color, rect, start_angle, stop_angle, width=1) -> rect

在给定曲面上绘制椭圆弧。

   两个角度参数以弧度给出,表示开始和停止 弧的位置。弧线沿逆时针方向绘制 的 .start_anglestop_angle

  • 参数
    surface (Surface) – 要绘制的表面
    color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
    rect (Rect) – 表示 弧将基于的椭圆,椭圆将居中 矩形内部
    start_angle (float) – 弧弧的起始角度
    stop_angle(浮点) --圆弧的停止角 弧度

  • 如果 ,start_angle < stop_angle则将圆弧绘制在 逆时针方向从start_angle到stop_angle;

  • 如果 ,如果 start_angle > stop_angle,tau (tau == 2 * pi) 将被添加到 stop_angle,如果生成的停止角度值大于 start_angle,则适用上述 start_angle < stop_angle 情况,否则不会绘制任何内容。

  • 如果,start_angle == stop_angle ,则不会绘制任何内容

宽度 (int) --(可选)用于线条粗细(不要混淆) 替换为参数的宽度值)rect

if width == 0,则不会绘制任何内容
if width > 0,(默认值为 1)用于线条粗细
if width < 0,与 width == 0 同
注意 使用width值时,边线只会增长 从参数的原始边界向内。
返回一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是给定参数的位置,其宽度和高度将为 0rect

返回类型:rect

在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。

2.7 pygame.draw.line ()

   画一条直线
line(surface, color, start_pos, end_pos) -> rect
line(surface, color, start_pos, end_pos, width=1) -> rect

   在给定曲面上绘制一条直线。没有端盖。对于厚 线的两端是方形的。

参数

  • surface (Surface) – 要绘制的面
  • color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
  • start_pos (tuple(int or float, int or float) or list(int or float, int or float) or Vector2(int or float, int or float, int or float)) – 线的起始位置,(x, y)
  • end_pos (tuple(int or float, int or float) or list(int or float, int or float) or Vector2(int or float, int or float, intor float)) – 线的结束位置, (x, y)
  • width (int) --(可选)用于线粗

if 宽度 >= 1,则用于线条粗细(默认值为 1)
if 宽度< 1,则不会绘制任何内容

注意 使用值时,行将按如下方式增长。
对于奇数值,每条线的粗细随width原来的线在中间。
对于偶数值,每条线的粗细随 width 原始线偏离中心(因为没有确切的 绘制中心线)。因此,斜率为 < 1 的线 (水平)将在 原始线(在 y 方向上)。斜率 >= 1 的线 (垂直)的右侧将多 1 个粗细的像素 原始线(在 x 方向上)。

返回
一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是参数值 (float 值将被截断),其宽度和高度将为 0start_pos

返回类型:矩形

错误举出
TypeError – 如果 or 不是 两个数字start_posend_pos
在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。

2.8 pygame.draw.lines()

   绘制多个连续的直线段
lines(surface, color, closed, points) -> Rect
lines(surface, color, closed, points, width=1) -> Rect

   在给定曲面上绘制一系列连续的直线。有 无端盖或斜接接头。对于粗线,两端是方形的。 用尖角绘制粗线可能会产生不良效果。

参数
surface (Surface) – 要绘制的曲面
color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
closed (bool) – 如果在 序列中的第一个点和最后一个点Truepoints

points (tuple(coordinate) or list(coordinate)) --点(元组(坐标)或列表(坐标)) - 2个或更多(x,y)坐标的序列,其中序列中的每个坐标必须是元组/列表/pygame.math.Vector2a的二维向量2 个整数/浮点数和相邻坐标将通过线段连接,例如对于点 [(x1, y1), (x2, y2), (x3, y3)] 将从 (x1, y1) 到 (x2, y2) 以及从 (x2, y2) 到 (x3) 绘制一条线段, y3),此外,如果闭合参数为 True,则会从 (x3, y3) 到 (x1, y1) 绘制另一条线段
width(int) – (可选)用于线粗

如果 width >= 1,则用于线条粗细(默认值为 1)
如果 width< 1,则不会绘制任何内容

**注意:**使用值时,请参阅注释 的,详细了解粗线如何生长。
返回:一个包围已更改像素的矩形,如果未绘制任何内容,则边界矩形的位置将是点参数中第一个点的位置(浮点值将被截断),其宽度和高度将为 0

返回类型:rect

错误举出:
if len(points) < 2 (必须至少有 2 个点)
TypeError – 如果点不是序列,或点不包含数字对
在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。

2.9 pygame.draw.aaline()

   绘制一条抗锯齿直线
aaline(surface, color, start_pos, end_pos) -> Rect
aaline(surface, color, start_pos, end_pos, blend=1) -> Rect

   在给定曲面上绘制一条抗锯齿的直线。

   线的粗细为 1 像素,端点的高度和 每个像素的宽度为一个像素。

线及其端点的绘制方式:

  • 如果两个端点相等,则仅绘制单个像素(之后 四舍五入浮点数到最接近的整数)。
    否则,如果线不陡峭(即如果沿 x 轴的长度 大于沿 y 轴的高度):

  • 对于每个终结点:如果 ,端点的 x 坐标是整数 find 哪些像素将被它覆盖并绘制它们。x

否则:用整数计算最近点的位置 对于其 x 坐标,当将直线延伸到 端点。找出将覆盖哪些像素以及到那时覆盖多少像素。

如果端点是左边的端点,则将覆盖率乘以 (1 - 的 ) 的小数部分。x

否则,将覆盖率乘以 的小数部分。x

然后绘制这些像素。

例如:
该行的左端点将 覆盖 70% 的像素和 30% 的像素,而右侧的像素将覆盖 100% 的像素 像素。((1, 1.3), (5, 3))(1, 1)(1, 2)(5, 3)
线的左端点将覆盖 56%(即 0.8 * 70%)的像素和 24%(即 0.8 * 30%)的像素,而 正确的一个将覆盖 42%(即 0.6 * 70%) 像素和 18%(即 0.6 * 30%)的像素,而右边((1.2, 1.4), (4.6, 3.1))(1, 1)(1, 2)(5, 3)(5, 4)
然后对于端点之间的每个点,沿着这条线,其 x 坐标是一个整数:
找出将覆盖哪些像素以及该点覆盖的像素数量,以及 画出来。

例如:
沿线的点将是 和 将覆盖 50% 的像素、50% 的像素和 100% 的像素。((1, 1), (4, 2.5))(2, 1.5)(3, 2)(2, 1)(2, 2)(3, 2)
沿线的点将 be(覆盖 20% 的像素和 80% 的像素),(覆盖 70% 的 像素和 30% 的像素 ) 和 (覆盖 20% 的像素和 80% 的 像素((1.2, 1.4), (4.6, 3.1))(2, 1.8)(2, 1)(2, 2)(3, 2.3)(3, 2)(3, 3)(4, 2.8)(2, 1)(2, 2))
否则,对陡峭线执行与非陡线相同的操作,但 沿 y 轴而不是 x 轴(使用 instead of , 顶部而不是左侧,底部而不是右侧)。yx

注意 关于坐标的浮点值,一个具有坐标的点 由两个整数组成被认为是正中 所述像素(因此具有 1 像素的高度和宽度 完全覆盖它),而一个点与坐标,其中一(或两者) 的数字具有非零小数部分将部分覆盖 两个(如果两个数字都有小数部分,则为四个)相邻像素,例如,该点覆盖了 60% 的像素和 40% 的 像素 。
参数
surface (Surface) – 要绘制的曲面
color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
start_pos (tuple(int or float, int or float) or list(int or float, int or float) or Vector2(int or float, int or float, int or float)) – 线的起始位置,(x, y)
end_pos (tuple(int or float, int or float) or list(int or float, int or float) or Vector2(int or float, int or float, intor float)) – 线的结束位置, (x, y)
blend (int) – (可选) (已弃用) 如果非零 (默认) 则该行将被混合 替换为 Surface 的现有像素阴影,否则将覆盖它们

返回
一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是参数值 (float 值将被截断),其宽度和高度将为 0start_pos

返回类型:“矩形

错误举出:
TypeError – 如果 start_pos 或 end_pos不是 两个数字。
在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。

2.10 pygame.draw.aalines()

绘制多个连续的直线抗锯齿线段
aalines(surface, color, closed, points) -> rect
aalines(surface, color, closed, points, blend=1) -> rect

在给定的 表面。

参数
surface (Surface) – 要绘制的曲面
color (Color or int or tuple(int, int, int, [int])) – 绘制颜色,如果使用 元(RGB[A])
closed (bool) – 如果在 序列中的第一个点和最后一个点Truepoints
points (tuple(coordinate) or list(coordinate)) – 点(元组(坐标)或列表(坐标)) - 2个或更多(x,y)坐标的序列,其中序列中的每个坐标必须是元组/列表/pygame.math.Vector2a的二维向量2 个整数/浮点数和相邻坐标将通过线段连接,例如对于点 [(x1, y1), (x2, y2), (x3, y3)] 将从 (x1, y1) 到 (x2, y2) 以及从 (x2, y2) 到 (x3) 绘制一条线段, y3),此外,如果闭合参数为 True,则会从 (x3, y3) 到 (x1, y1) 绘制另一条线段

blend (int) – (可选) (已弃用) 如果非零 (默认) 每行将被混合 替换为表面的现有像素阴影,否则像素将 覆盖

返回一个边界已更改像素的矩形,如果未绘制任何像素 bounding rect 的位置将是参数中第一个点的位置(浮点值将被截断)及其宽度和 高度将为 0points

返回类型 rect

错误举出:
ValueError – 如果len(points) < 2(必须至少有 2 个点)
TypeError – 如果不是序列points或points不是序列 包含数字对
在 pygame 2.0.0 中更改: 添加了对关键字参数的支持。

三、绘图模块示例

   draw 模块的示例代码。

import pygame
from math import pi# Initialize pygame
pygame.init()# Set the height and width of the screen
size = [400, 300]
screen = pygame.display.set_mode(size)pygame.display.set_caption("Example code for the draw module")# Loop until the user clicks the close button.
done = False
clock = pygame.time.Clock()while not done:# This limits the while loop to a max of 60 times per second.# Leave this out and we will use all CPU we can.clock.tick(60)for event in pygame.event.get():  # User did somethingif event.type == pygame.QUIT:  # If user clicked closedone = True  # Flag that we are done so we exit this loop# Clear the screen and set the screen backgroundscreen.fill("white")# Draw on the screen a green line from (0, 0) to (50, 30)# 5 pixels wide. Uses (r, g, b) color - medium sea green.pygame.draw.line(screen, (60, 179, 113), [0, 0], [50, 30], 5)# Draw on the screen a green line from (0, 50) to (50, 80)# Because it is an antialiased line, it is 1 pixel wide.# Uses (r, g, b) color - medium sea green.pygame.draw.aaline(screen, (60, 179, 113), [0, 50], [50, 80], True)# Draw on the screen 3 black lines, each 5 pixels wide.# The 'False' means the first and last points are not connected.pygame.draw.lines(screen, "black", False, [[0, 80], [50, 90], [200, 80], [220, 30]], 5)# Draw a rectangle outlinepygame.draw.rect(screen, "black", [75, 10, 50, 20], 2)# Draw a solid rectangle. Same color as "black" above, specified in a new waypygame.draw.rect(screen, (0, 0, 0), [150, 10, 50, 20])# Draw a rectangle with rounded cornerspygame.draw.rect(screen, "green", [115, 210, 70, 40], 10, border_radius=15)pygame.draw.rect(screen,"red",[135, 260, 50, 30],0,border_radius=10,border_top_left_radius=0,border_bottom_right_radius=15,)# Draw an ellipse outline, using a rectangle as the outside boundariespygame.draw.ellipse(screen, "red", [225, 10, 50, 20], 2)# Draw an solid ellipse, using a rectangle as the outside boundariespygame.draw.ellipse(screen, "red", [300, 10, 50, 20])# This draws a triangle using the polygon commandpygame.draw.polygon(screen, "black", [[100, 100], [0, 200], [200, 200]], 5)# Draw an arc as part of an ellipse.# Use radians to determine what angle to draw.pygame.draw.arc(screen, "black", [210, 75, 150, 125], 0, pi / 2, 2)pygame.draw.arc(screen, "green", [210, 75, 150, 125], pi / 2, pi, 2)pygame.draw.arc(screen, "blue", [210, 75, 150, 125], pi, 3 * pi / 2, 2)pygame.draw.arc(screen, "red", [210, 75, 150, 125], 3 * pi / 2, 2 * pi, 2)# Draw a circlepygame.draw.circle(screen, "blue", [60, 250], 40)# Draw only one circle quadrantpygame.draw.circle(screen, "blue", [250, 250], 40, 0, draw_top_right=True)pygame.draw.circle(screen, "red", [250, 250], 40, 30, draw_top_left=True)pygame.draw.circle(screen, "green", [250, 250], 40, 20, draw_bottom_left=True)pygame.draw.circle(screen, "black", [250, 250], 40, 10, draw_bottom_right=True)# Go ahead and update the screen with what we've drawn.# This MUST happen after all the other drawing commands.pygame.display.flip()# Be IDLE friendly
pygame.quit()

   绘制程序输出结果:
在这里插入图片描述

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

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

相关文章

【Redis】理论进阶篇------Redis的主从复制

一、原理解释 1、什么是Redis的主从复制 主从复制&#xff0c;是指将一台Redis服务器的数据复制到其他Redis服务器。前者称为主节点&#xff08;master&#xff09;,后者称为从节点&#xff08;slave&#xff09;;对于数据的复制是单项的&#xff0c;只能从主节点到从节点。Ma…

C#上位机与三菱PLC的通信06--MC协议之QnA-3E报文测试

1、A-3E报文回顾 1、存储区分类及访问规则 2、命令类型 命令由主命令子命令组成 3、报文结构 2、启动mc服务器 3、创建VS项目 这节继续使用上节的VS2022的项目&#xff0c;增加一个方法 MCTestA3E()&#xff0c;具体怎么创建项目&#xff0c;见上节的过程。C#上位机与三菱…

在 CentOS 平台下安装与配置 MySQL 5.7.36

CentOS平台常用有三种MySQL安装方式&#xff0c;即RPM安装包、二进制压缩包和源码包。一般来讲&#xff0c;建议使用二进制压缩包&#xff0c;因为该版本比其他的分发版使用起来要简单灵活。本次实验在 CentOS 7.6 平台上选用二进制压缩包安装方式。 1、清理MySQL安装环境 Cent…

MySQL 基础知识(九)之视图

目录 1 视图的介绍 2 视图算法 3 创建视图 4 查看视图结构 5 修改视图 6 删除视图 7 参考文档 1 视图的介绍 视图是一张并不存储数据的虚拟表&#xff0c;其本质是根据 SQL 语句动态查询数据库中的数据。数据库中只存放了视图的定义&#xff0c;通过 SQL 语句使用视图时…

【6-1】使用hanlp进行实体抽取以及句法分析(问题待解决)

1.使用hanlp抽取法人名称、企业名称等信息 # -*- coding: utf-8 -*- from pyhanlp import *text1"1998年11月11日&#xff0c;马化腾和同学张志东在广东省深圳市正式注册成立“深圳市腾讯计算机系统有限公司”&#xff0c;之后许晨晔、陈一丹、曾李青相继加入。当时公司…

论文解读:Masked Generative Distillation

文章汇总 话题 知识蒸馏 创新点 带掩盖的生成式蒸馏 方法旨在通过学生的遮罩特征来生成老师的特征(通过遮盖学生部分的特征来生成老师的特征)&#xff0c;来帮助学生获得更好的表现 输入:老师:&#xff0c;学生:&#xff0c;输入:&#xff0c;标签:&#xff0c;超参数: 1:使…

水质监测站工作原理!

TH-LSZ06】水质监测站的工作原理基于现代化学和生物学技术&#xff0c;主要通过化学分析和生物检测两种方法来检测水中有害物质。化学分析技术包括酸碱度、氧化还原电位、重金属离子、有机物、氮和磷等&#xff0c;而生物检测技术则主要关注病毒、细菌、真菌等微生物。 在水质…

Mac M1芯片编译openjdk报错问题解决

使用命令&#xff1a; sudo sh configure --with-target-bits64 用mac m1芯片编译openjdk一直报错&#xff1a; configure: The tested number of bits in the target (64) differs from the number of bits expected to be found in the target (32) configure: error: Cann…

【前端工程化面试题目】webpack 的热更新原理

可以在顺便学习一下 vite 的热更新原理&#xff0c;请参考这篇文章。 首先有几个知识点需要明确 热更新是针对开发过程中的开发服务器的&#xff0c;也就是 webpack-dev-serverwebpack 的热更新不需要额外的插件&#xff0c;但是需要在配置文件中 devServer 属性中配置 hot&a…

云原生之容器编排实践-基于CentOS7搭建三个节点的Kubernetes集群

背景 前面采用 minikube 作为 Kubernetes 环境来体验学习 Kubernetes 基本概念与操作&#xff0c;这样避免了初学者在裸金属主机上搭建 Kubernetes 集群的复杂度&#xff0c;但是随着产品功能的逐渐完善&#xff0c;我们需要过渡到生产环境中的 K8S 集群模式&#xff1b;而在实…

【代码移植】UNIX/Linux/POSIX代码程序移植到Windows系统平台技术汇总与经验分享

​ 图片来源 UNIX (Linux) to Windows代码移植技术路线 MinGW MinGW/MinGW-W64是用Windows原生系统API实现的&#xff0c;在Windows上运行的GCC编译工具链&#xff0c;可以编译出Windows原生应用程序。 MinGW编译工具链的生态位和微软官方的MSVC类似。 优点 MinGW编译出…

计算机网络-数据通信基础

目录 前言 一、数据通信基本概念 二、数据通信相关知识1 总结 前言 正在学习计算机网络体系&#xff0c;把每日所学的知识梳理出来&#xff0c;既能够当作读书笔记&#xff0c;又能分享出来和大家一同学习讨论。 一、数据通信基本概念 基本概念&#xff1a;信源、信道、信宿&…

第二篇【传奇开心果系列】Python的文本和语音相互转换库技术点案例示例:深度解读pyttsx3支持多种语音引擎

传奇开心果短博文系列 系列短博文目录Python的文本和语音相互转换库技术点案例示例系列 短博文目录前言一、三种语音引擎支持介绍和示例代码二、SAPI5引擎适用场景介绍和示例代码三、nsss引擎适用场景介绍和示例代码四、eSpeak适用场景介绍和示例代码五、归纳总结 系列短博文目…

红队学习笔记Day6 --->干货分享

今天看到这样的一个东西&#xff0c;好好好&#xff0c;有点恐怖&#x1f613;&#x1f613;&#x1f631;&#x1f631;&#x1f631;&#x1f631; 我就想网安是不是也有这种东西&#xff1f; 我来试试 icmp&#xff0c;RDP&#xff0c;arp&#xff0c;dhcp&#xff0c;nat&a…

Eclipse - 查看工程或者文件的磁盘路径

Eclipse - 查看工程或者文件的磁盘路径 1. Help -> Eclipse Marketplace -> Find: Explorer -> Eclipse Explorer 4.1.0 -> Install2. right-click -> Open in ExplorerReferences 1. Help -> Eclipse Marketplace -> Find: Explorer -> Eclipse Explo…

【Spring MVC篇】参数的传递及json数据传参

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【Spring MVC】 本专栏旨在分享学习Spring MVC的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、普通参数的传…

【Java多线程】线程中几个常见的属性以及状态

目录 Thread的几个常见属性 1、Id 2、Name名称 3、State状态 4、Priority优先级 5、Daemon后台线程 6、Alive存活 Thread的几个常见属性 1、Id ID 是线程的唯一标识&#xff0c;由系统自动分配&#xff0c;不同线程不会重复。 2、Name名称 用户定义的名称。该名称在各种…

【开源】SpringBoot框架开发服装店库存管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 服装档案模块2.4 服装入库模块2.5 服装出库模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 服装档案表3.2.3 服装入库表3.2.4 服装出库表 四、系统展示五、核心代码5.…

160基于matlab的负熵和峭度信号的盲分离

基于matlab的负熵和峭度信号的盲分离。基于峭度的FastICA算法的收敛速度要快&#xff0c;迭代次数比基于负熵的FastICA算法少四倍以上。SMSE随信噪比增大两种判据下的FastICA算法都逐渐变小&#xff0c;但是基于峭度的算法的SMSE更小&#xff0c;因此基于峭度的FastICA算法性能…

UVa1359/LA3491 Hills

题目链接 本题是2005年ICPC亚洲区域赛杭州欧赛区的H题 题意 平面上有 n&#xff08;n≤500&#xff09;条线段&#xff0c;其中每条线段的端点都不会在其他线段上。你的任务是数一数有多少个“没有被其他线段切到”的三角形&#xff08;即小山&#xff09;。如下图所示&#x…