c#仿ppt案例

画曲线


namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //存放所有点的位置信息
        List<Point> lstPosition = new List<Point>();

        //控制开始画的时机
        bool isDrawing = false;
        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;
        }

        //鼠标弹起不画

        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;
        }

        /// <summary>
        /// pait 方法不会随时调用
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;
            //画线
            if(lstPosition.Count>1)
            {
                g.DrawLines(Pens.Pink, lstPosition.ToArray());
            }
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
             if(isDrawing)
            {
                lstPosition.Add(e.Location);
                //使得paint方法生效
                this.Invalidate();
            }
        }

    
    }
}


使用封装实现 画多条线,不连接


namespace ppt2024
{
    class HwFreeLine
    {
        //线的颜色
       public Color color = Color.Pink;
        //线的宽度
       public int width = 2;
        //存放线的集合(线由点构成,传入点的位置)
       public List<Point> lstPoints = new List<Point>();


        public void Draw(Graphics g)
        {
            //画笔
            Pen pen = new Pen(color, width);
            //两点确定一条直线
            if(lstPoints.Count>1)
            {
                //画家画线
                g.DrawLines(pen, lstPoints.ToArray());
            }
        }
    }
}

namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //用集合存放线的位置信息
        List<HwFreeLine> lstFreeLine = new List<HwFreeLine>();

        //控制开始画的时机
        bool isDrawing = false;

        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;
            //创建线对象
            HwFreeLine freeLine = new HwFreeLine();
            //设置线的样式----使用随机函数
            Random r = new Random();
            freeLine.color = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
            freeLine.width = r.Next(1,10);

            //集合添加
            lstFreeLine.Add(freeLine);
         
        }

        //鼠标弹起不画
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;
         

        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;
         

            //绘制填充
            for(int i=0;i<lstFreeLine.Count;i++)
            {
                lstFreeLine[i].Draw(g);
            }

        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
             if(isDrawing)
            {
                //替换掉集合的最后一个点的位置
                lstFreeLine[lstFreeLine.Count - 1].lstPoints.Add(e.Location);
                //使得paint方法生效
                this.Invalidate();
            }
        }

    }
}


画矩形

可以画多个矩形


namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //存放矩形的位置信息
        List<Rectangle> lstRect = new List<Rectangle>();

        //控制开始画的时机
        bool isDrawing = false;
        Rectangle rect;

        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;
            rect = new Rectangle();
            //矩形起点
            rect.X = e.X;
            rect.Y = e.Y;

            lstRect.Add(rect);
        }

        //鼠标弹起不画
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;
         

        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;

            for(int i=0;i<lstRect.Count;i++)
            {
                g.DrawRectangle(Pens.Blue, lstRect[i]);

            }

        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
             if(isDrawing)
            {

                rect.Width = e.X - rect.X;
                rect.Height = e.Y - rect.Y;
            
                 lstRect[lstRect.Count - 1] = new Rectangle(rect.X, rect.Y, (e.X - rect.X), (e.Y - rect.Y));
          
                //使得paint方法生效
                this.Invalidate();
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {

        }
    }
}

画带颜色的矩形

namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //存放矩形的位置信息
        List<Rectangle> lstRect = new List<Rectangle>();
        //存放矩形填充颜色
        Color reactFill = Color.Pink;
        //矩形边框颜色
        Color reactFrame = Color.Gray;
        //矩形边框宽度
        int frameSize = 10;

        //控制开始画的时机
        bool isDrawing = false;
        Rectangle rect;

        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;
            rect = new Rectangle();
            //矩形起点
            rect.X = e.X;
            rect.Y = e.Y;

            lstRect.Add(rect);
        }

        //鼠标弹起不画
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;
         

        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;
            //画笔
            Pen pen = new Pen(reactFrame, 10);
            //纯色画刷
            SolidBrush solidBrush = new SolidBrush(reactFill);

            //画矩形
            for(int i=0;i<lstRect.Count;i++)
            {
                g.DrawRectangle(pen, lstRect[i]);

            }

            //绘制填充
            for(int i=0;i<lstRect.Count;i++)
            {
                g.FillRectangle(solidBrush, lstRect[i]);
            }

        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
             if(isDrawing)
            {

                rect.Width = e.X - rect.X;
                rect.Height = e.Y - rect.Y;
            
                 lstRect[lstRect.Count - 1] = new Rectangle(rect.X, rect.Y, (e.X - rect.X), (e.Y - rect.Y));
          
                //使得paint方法生效
                this.Invalidate();
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {

        }


    }
}

使用封装

namespace ppt2024
{
    class HwReactangle
    {
        //存放矩形填充颜色
       public Color reactFill = Color.Pink;
        //矩形边框颜色
       public Color reactFrame = Color.Gray;
        //矩形边框宽度
       public int frameSize = 10;

        //起始点
        public int x;
        public int y;

        //矩形宽高
        public int w;
        public int h;

        
        //存放矩形数组
        public List<Rectangle> lstRect = new List<Rectangle>();


        public void Draw(Graphics g)
        {
            //画笔
            Pen pen = new Pen(reactFrame, frameSize);
            //纯色画刷
            SolidBrush solidBrush = new SolidBrush(reactFill);

            //画矩形
            g.DrawRectangle(pen, x, y, w, h);
            //绘制矩形填充颜色
            g.FillRectangle(solidBrush, x, y, w, h);

        }

    }
}



namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //用集合存放矩形的位置信息
        List<HwReactangle> lstRects = new List<HwReactangle>();
        HwReactangle rect;

        //控制开始画的时机
        bool isDrawing = false;
        

        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;
            rect = new HwReactangle();
            //矩形起点
            rect.x = e.X;
            rect.y = e.Y;

            //随机函数
            Random r = new Random();
            rect.reactFill = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
            rect.frameSize = r.Next(1, 10);

            lstRects.Add(rect);

        
        }

        //鼠标弹起不画
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;
        
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;

            for(int i=0;i<lstRects.Count;i++)
            {
                lstRects[i].Draw(g);
            }
       
        }

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
             if(isDrawing)
            {

                 rect.w = e.X - rect.x;
                 rect.h = e.Y - rect.y;

                lstRects[lstRects.Count - 1] = rect;


                //使得paint方法生效
                 this.Invalidate();
            }


        }

    }
}

画椭圆

仿造之前的矩形

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;
            //画笔
            Pen pen = new Pen(reactFrame, 5);
            pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot;

            //纯色画刷
            SolidBrush solidBrush = new SolidBrush(reactFill);

            //画矩形
            for(int i=0;i<lstRect.Count;i++)
            {
                g.DrawEllipse(pen, lstRect[i]);

            }

            //绘制填充
            for(int i=0;i<lstRect.Count;i++)
            {
                g.FillEllipse(solidBrush, lstRect[i]);
            }

        }

画三角形

封装类


namespace ppt2024
{
    class HwTriangle
    {

        //存放填充颜色
        public Color reactFill = Color.Pink;
        //三角形边框颜色
        public Color reactFrame = Color.Gray;
        //三角形边框宽度
        public int frameSize = 10;

        //起始点
        public int x;
        public int y;

        //三角形宽高
        public int w;
        public int h;


        //存放矩形数组
        //public List<HwTriangle> lstRect = new List<HwTriangle>();


        public void Draw(Graphics g)
        {
            //画笔
            Pen pen = new Pen(reactFrame, frameSize);
            //纯色画刷
            SolidBrush solidBrush = new SolidBrush(reactFill);

            //确定三角形三个顶点
            Point p1 = new Point(x + w / 2, y);
            Point p2 = new Point(x, y - h);
            Point p3 = new Point(x + w, y - h);

            Point[] pArr = new Point[3] { p1, p2, p3 };

            g.FillPolygon(solidBrush, pArr);
            g.DrawPolygon(pen, pArr);

           

        }

    }
}


仿ppt实现不同形状的图形选择

在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //用枚举
        public enum GeoType { None, FreeLine, Rect, Tri };
        public GeoType type = GeoType.None;

        //用集合存放图形的位置信息
        List<HwFreeLine> lstFreeLine = new List<HwFreeLine>();
        List<HwReactangle> lstRect = new List<HwReactangle>();
        List<HwTriangle> lstTri = new List<HwTriangle>();


        //控制开始画的时机
        bool isDrawing = false;


        // 点击不同按钮实现画不同图形效果
        private void button1_Click(object sender, EventArgs e)
        {
            type = GeoType.Tri;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            type = GeoType.Rect;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            type = GeoType.FreeLine;
        }

        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;

            //添加涂鸦线
            if (type == GeoType.FreeLine)
            {
                HwFreeLine freeLine = new HwFreeLine();
                Random r = new Random();
                freeLine.color = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
                freeLine.width = r.Next(1, 10);
                lstFreeLine.Add(freeLine);
            }
            //添加矩形
            else if (type == GeoType.Rect)
            {
                HwReactangle rect = new HwReactangle();
                rect.x = e.Location.X;
                rect.y = e.Location.Y;
                //随机函数
                Random r = new Random();
                rect.reactFill = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
                rect.frameSize = r.Next(1, 10);

                lstRect.Add(rect);
            }
            //添加三角形
            else if (type == GeoType.Tri)
            {
                HwTriangle tri = new HwTriangle();
                tri.x = e.Location.X;
                tri.y = e.Location.Y;

                //随机函数
                Random r = new Random();
                tri.reactFill = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
                tri.frameSize = r.Next(1, 10);
                lstTri.Add(tri);
            }


        }

        //鼠标弹起不画
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;

        }

        //每次重绘
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;

            //画涂鸦线
            for (int i = 0; i < lstFreeLine.Count; i++)
            {
                lstFreeLine[i].Draw(e.Graphics);
            }
            //画矩形
            for (int i = 0; i < lstRect.Count; i++)
            {
                lstRect[i].Draw(e.Graphics);
            }
            //画三角形
            for (int i = 0; i < lstTri.Count; i++)
            {
                lstTri[i].Draw(e.Graphics);
            }

        }

        //鼠标移动记录信息
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDrawing)
            {
                //更新涂鸦线
                if (type == GeoType.FreeLine)
                {
                    lstFreeLine[lstFreeLine.Count - 1].lstPoints.Add(e.Location);
                    this.Invalidate();
                }

                //矩形
                if (type == GeoType.Rect)
                {
                    lstRect[lstRect.Count - 1].w = e.Location.X - lstRect[lstRect.Count - 1].x;
                    lstRect[lstRect.Count - 1].h = e.Location.Y - lstRect[lstRect.Count - 1].y;
                    this.Invalidate();
                }
                //三角形
                if (type == GeoType.Tri)
                {
                    lstTri[lstTri.Count - 1].w = e.Location.X - lstTri[lstTri.Count - 1].x;
                    lstTri[lstTri.Count - 1].h = e.Location.Y - lstTri[lstTri.Count - 1].y;
                    this.Invalidate();
                }


            }

        }
    }
}

``


# 使用封装,继承,改造上述代码
> 继承类

```c

namespace ppt2024
{
    class HwGeometry
    {
        //图形填充颜色
        public Color fillColor = Color.Blue;
        //图形边框颜色
        public Color borderColor = Color.Black;
        //图形边框宽度
        public int borderWidth = 6;
        //图形边框样式
        public DashStyle ds = DashStyle.Dash;

        //公共的抽象方法

        public virtual void Draw(Graphics g)
        {
        }
    }
}

子类


namespace ppt2024
{
    class HwReactangle:HwGeometry
    {
        //起始点
        public int x;
        public int y;

        //矩形宽高
        public int w;
        public int h;

        
        //存放矩形数组
        public List<Rectangle> lstRect = new List<Rectangle>();


        public override void Draw(Graphics g)
        {
            //画笔
            Pen pen = new Pen(borderColor, borderWidth);
            //纯色画刷
            SolidBrush solidBrush = new SolidBrush(fillColor);

            //样式
            pen.DashStyle = ds;
            //画矩形
            g.DrawRectangle(pen, x, y, w, h);
            //绘制矩形填充颜色
            g.FillRectangle(solidBrush, x, y, w, h);

        }

    }
}


三角形,涂鸦线参照之前代码

主类

namespace ppt2024
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //用枚举
        public enum GeoType { None, FreeLine, Rect, Tri };
        public GeoType type = GeoType.None;

        //用集合存放图形的位置信息
        List<HwGeometry> lstGeo = new List<HwGeometry>();


        //控制开始画的时机
        bool isDrawing = false;


        // 点击不同按钮实现画不同图形效果
        private void button1_Click(object sender, EventArgs e)
        {
            type = GeoType.Tri;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            type = GeoType.Rect;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            type = GeoType.FreeLine;
        }

        //鼠标点击开始画
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            isDrawing = true;

            //添加涂鸦线
            if (type == GeoType.FreeLine)
            {
                HwFreeLine freeLine = new HwFreeLine();
                Random r = new Random();
                freeLine.borderColor = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
                freeLine.borderWidth = r.Next(1, 10);
                lstGeo.Add(freeLine);
            }
            //添加矩形
            else if (type == GeoType.Rect)
            {
                HwReactangle rect = new HwReactangle();
                rect.x = e.Location.X;
                rect.y = e.Location.Y;
                //随机函数
                Random r = new Random();
                rect.borderColor = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
                rect.borderWidth = r.Next(1, 10);
                rect.fillColor= Color.FromArgb(r.Next(255), r.Next(255), r.Next(255)); 

                lstGeo.Add(rect);
            }
            //添加三角形
            else if (type == GeoType.Tri)
            {
                HwTriangle tri = new HwTriangle();
                tri.x = e.Location.X;
                tri.y = e.Location.Y;

                //随机函数
                Random r = new Random();
                tri.borderColor = Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));
                tri.borderWidth = r.Next(1, 10);
                tri.fillColor= Color.FromArgb(r.Next(255), r.Next(255), r.Next(255));

                lstGeo.Add(tri);
            }


        }

        //鼠标弹起不画
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            isDrawing = false;

        }

        //每次重绘
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //画家
            Graphics g = e.Graphics;

            //画图形
            for (int i = 0; i < lstGeo.Count; i++)
            {
                lstGeo[i].Draw(g);
            }
        
        }

        //鼠标移动记录信息
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDrawing)
            {
                //更新涂鸦线
                if (type == GeoType.FreeLine)
                {
                    //更新
                    ((HwFreeLine)lstGeo[lstGeo.Count - 1]).lstPoints.Add(e.Location);
                }

                //矩形
                if (type == GeoType.Rect)
                {
              
                    ((HwReactangle)lstGeo[lstGeo.Count - 1]).w = e.Location.X - ((HwReactangle)lstGeo[lstGeo.Count - 1]).x;
                    ((HwReactangle)lstGeo[lstGeo.Count - 1]).h = e.Location.Y - ((HwReactangle)lstGeo[lstGeo.Count - 1]).y;

                }
                //三角形
                if (type == GeoType.Tri)
                {
                    ((HwTriangle)lstGeo[lstGeo.Count - 1]).w = e.Location.X - ((HwTriangle)lstGeo[lstGeo.Count - 1]).x;
                    ((HwTriangle)lstGeo[lstGeo.Count - 1]).h = e.Location.Y - ((HwTriangle)lstGeo[lstGeo.Count - 1]).y;
                }

                //开启重绘
                this.Invalidate();



            }

        }
    }
}

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

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

相关文章

一次普通的漏洞挖掘思路分享

No.0 前言 一名web安全小白&#xff0c;自己仅学了一点思路&#xff0c;直接实战&#xff0c;运气不错&#xff0c;碰到了管理员弱口令&#xff0c;进入后台后&#xff0c;继续测试自己学会的思路挖掘深一点的漏洞&#xff0c;这里与各位分享一下&#xff0c;如果有更多的思路…

01 - 半加器 异或门

---- 整理自B站UP主 踌躇月光 的视频 1. 半加器 ABSC0000011010101101 S A ‾ B A B ‾ C A B \begin{aligned} S & \overline{A}B A\overline{B} \\ C & AB \end{aligned} SC​ABABAB​ 2. 异或门 S A ‾ B A B ‾ \begin{aligned} S & \overline{A}B A\o…

如何评估编码器性能优劣?全方位检测方法与常见故障解决方案

编码器是一种电子或机械装置&#xff0c;其主要功能是将物理量&#xff08;如角位移、直线位移、速度、压力、温度等&#xff09;转换为相应的电信号&#xff0c;或者是将数据、信号或信息进行格式转换和编码&#xff0c;使其能够适应特定的通讯协议、传输介质或存储要求。 在…

当面试官问你插入排序算法,你敢说自己会吗?

算法学习的重要性 在程序员的世界里&#xff0c;算法就如同一座桥梁&#xff0c;连接着问题与解决方案&#xff0c;是实现优秀程序的关键。 掌握算法&#xff0c;就能够在面对各种问题时&#xff0c;找到最合适的解决方法&#xff0c;以最少的时间和空间&#xff0c;实现最优的…

力扣2684---矩阵中移动的最大次数(DFS,Java、中等题)

目录 题目描述&#xff1a; 思路描述&#xff1a; 代码&#xff1a; 纯递归&#xff1a; 带有记忆化搜索的递归&#xff1a; 题目描述&#xff1a; 给你一个下标从 0 开始、大小为 m x n 的矩阵 grid &#xff0c;矩阵由若干 正 整数组成。 你可以从矩阵第一列中的 任一 单…

环信IM集成教程——Web端UIKit快速集成与消息发送

写在前面&#xff1a; 千呼万唤始出来&#xff0c;环信Web端终于出UIKit了&#xff01;&#x1f389;&#x1f389;&#x1f389; 文档地址&#xff1a;https://doc.easemob.com/uikit/chatuikit/web/chatuikit_overview.html 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开…

蓝桥杯每日不知道多少题之昂贵的聘礼

制作不易望点赞收藏加关注~~~&#xff0c;以便不时之需 题目连接&#xff1a;903. 昂贵的聘礼 - AcWing题库 解题思路&#xff1a;虚拟一个物品0&#xff0c;然后反向建边&#xff0c;边权为物品0到物品i所花费的价格&#xff0c;以及物品i换物品j所省下的钱&#xff0c;然后…

【Spring】SpringBoot整合ShardingSphere并实现多线程分批插入10000条数据(进行分库分表操作)。

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 一、ShardingSphere简介 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈&#xff0c;它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar&#xff08;计划中&#xff09;这3款相互独立的产品组成…

强化学习笔记系列入门【0】

引言: 最近在学习西湖大学赵世钰老师的强化学习课程,一直觉得学习一定是一个不仅有输入还需要及时给出自己输出的一个过程,但在中国的大学或者研究生课堂,这一部分是相当缺失的,氛围经常性的很差。其实,课堂,我觉得就很有必要去做一些翻转课堂之类的东西,去打破现在这种…

【算法刷题day14】Leetcode:144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历

文章目录 二叉树递归遍历解题思路代码总结 二叉树的迭代遍历解题思路代码总结 二叉树的统一迭代法解题思路代码总结 草稿图网站 java的Deque 二叉树递归遍历 题目&#xff1a; 144.二叉树的前序遍历 94.二叉树的中序遍历 145.二叉树的后序遍历 解析&#xff1a;代码随想录解析…

黄金票据复现

一、黄金票据攻击介绍 黄金票据攻击是网络安全领域中一种重要的渗透攻击手段。它利用Kerberos身份认证协议中的漏洞&#xff0c;允许攻击者伪造域控krbtgt用户的TGT&#xff08;Ticket-Granting Ticket&#xff09;。一旦攻击者成功伪造了TGT&#xff0c;他们就可以访问网络中…

千山至臻蜜密40°C的蜂蜜质量怎么样?

千山至臻蜜密40℃是经中国蜂产品协会认证的全国五星级蜂蜜品牌&#xff0c;中国蜂产品协会是全国最高最权威的认证机构&#xff0c;产品质量是毋庸置疑的。 千山至臻中蜂百花蜜对产品质量的管控可以用非常严苛来形容。 一是蜂场选择在方圆五公里的无人区&#xff08;中蜂的采…

hadoop 高可用(HA)、HDFS HA、Yarn HA

目录 hadoop 高可用(HA) HDFS高可用 HDFS高可用架构 QJM 主备切换&#xff1a; Yarn高可用 hadoop 高可用(HA) HDFS高可用 HDFS高可用架构 QJM 主备切换&#xff1a; Yarn高可用

MySQL进阶-----SQL提示与覆盖索引

目录 前言 一、SQL提示 1.数据准备 2. SQL的自我选择 3.SQL提示 二、覆盖索引 前言 MySQL进阶篇的索引部分基本上要结束了&#xff0c;这里就剩下SQL提示、覆盖索引、前缀索引以及单例联合索引的内容。那本期的话我们就先讲解SQL提示和覆盖索引先&#xff0c;剩下的内容就…

HTML——6.字符实体 和 URL

一、字符实体 当在 HTML 中编写内容时&#xff0c;有时需要使用特殊字符&#xff0c;例如小于号&#xff08;<&#xff09;、大于号&#xff08;>&#xff09;、引号&#xff08;"&#xff09;、和符号&#xff08;&&#xff09;等。但是这些字符有可能与 HTML…

AI智能校色解决方案,专业级画质提升

由于拍摄环境、设备性能以及编辑经验等多种因素的影响&#xff0c;视频画质往往难以达到理想状态。这时&#xff0c;一款高效、智能的校色解决方案就显得尤为重要。美摄科技凭借深厚的图像处理技术和AI算法研发实力&#xff0c;推出了全新的AI智能校色解决方案&#xff0c;助力…

从0到1构建uniapp应用-创建标签页Tabs

背景 uniapp框架可以快速开发微信小程序&#xff0c;并且得到越来越多的使用。 此系列我们将从0到1带大家一步步搭建uniapp开发脚手架。 帮助大家快速上手微信小程序的开发。 需求说明 一般微信小程序的底部都有4个或5个标签页&#xff0c;给用户以导航的操作。 此文将创建两…

特征融合篇 | YOLOv8改进之将Neck网络更换为GFPN(附2种改进方法)

前言:Hello大家好,我是小哥谈。GFPN(Global Feature Pyramid Network)是一种用于目标检测的神经网络架构,它是在Faster R-CNN的基础上进行改进的,旨在提高目标检测的性能和效果。其核心思想是引入全局特征金字塔,通过多尺度的特征融合来提取更丰富的语义信息。具体来说,…

Golang | Leetcode Golang题解之第6题Z字形变换

题目&#xff1a; 题解&#xff1a; func convert(s string, numRows int) string {n, r : len(s), numRowsif r 1 || r > n {return s}t : r*2 - 2ans : make([]byte, 0, n)for i : 0; i < r; i { // 枚举矩阵的行for j : 0; ji < n; j t { // 枚举每个周期的起始…

QT网络调试助手

QT网络调试助手 1.开发流程 2.QTtcp服务器   1.1 服务端数据读取   1.2 服务端发送数据-所有客户端   1.3 服务端自动刷新ip地址   1.4 服务端检测客户端断开状态   1.5 服务端发送数据-指定特定客户端发送数据   1.6 服务端停止监听和断开 3.QTtcp客户端 1…