C#语言实例源码系列-设置桌面背景

news2024/10/6 8:35:02
专栏分享
  • 点击跳转=>Unity3D特效百例
  • 点击跳转=>案例项目实战源码
  • 点击跳转=>游戏脚本-辅助自动化
  • 点击跳转=>Android控件全解手册

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉实践过程

😜效果

在这里插入图片描述

😜代码

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

    #region 调用API
    [DllImport("user32.dll", EntryPoint = "SystemParametersInfoA")]
    static extern Int32 SystemParametersInfo(Int32 uAction, Int32 uParam, string lpvparam, Int32 fuwinIni);
    private const int SPI_SETDESKWALLPAPER = 20;
    #endregion
    Form2 frm2;
    private void toolStripButton2_Click(object sender, EventArgs e)
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            listView1.Items.Clear();
            string[] files = openFileDialog1.FileNames;
            string[] fileinfo = new string[3];
            for (int i = 0; i < files.Length; i++)
            {
                string path = files[i].ToString();
                string fileName = path.Substring(path.LastIndexOf("\\") + 1, path.Length - 1 - path.LastIndexOf("\\"));
                string filetype = fileName.Substring(fileName.LastIndexOf(".") + 1, fileName.Length - 1 - fileName.LastIndexOf("."));
                fileinfo[0] = fileName;
                fileinfo[1] = path;
                fileinfo[2] = filetype;
                ListViewItem lvi = new ListViewItem(fileinfo);
                listView1.Items.Add(lvi);
            }
        }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        int x = this.Location.X;
        int y = this.Location.Y;
        frm2 = new Form2();
        frm2.x = x + this.Width;
        frm2.y = y;
        frm2.Hide();
        openFileDialog1.Filter = "支持的图片格式|*.jpeg;*.png;*.bmp;*.jpg";
    }

    private void toolStripButton1_Click(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count > 0)
        {
            listView1.Items.RemoveAt(listView1.SelectedItems[0].Index);
        }
    }

    private void 添加ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        toolStripButton2_Click(sender, e);
    }

    private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        toolStripButton1_Click(sender, e);
    }

    private void 清空ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        listView1.Items.Clear();
    }

    private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }

    private void 设为桌面背景ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count > 0)
        {
            string FPath = listView1.SelectedItems[0].SubItems[1].Text;
            //获取指定图片的扩展名
            string SFileType = FPath.Substring(FPath.LastIndexOf(".") + 1, (FPath.Length - FPath.LastIndexOf(".") - 1));
            //将扩展名转换成小写
            SFileType = SFileType.ToLower();
            //获取文件名
            string SFileName = FPath.Substring(FPath.LastIndexOf("\\") + 1, (FPath.LastIndexOf(".") - FPath.LastIndexOf("\\") - 1));
            //如果图片的类型是bmp则调用API中的方法将其设置为桌面背景
            if (SFileType == "bmp")
            {
                SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, FPath, 1);
            }
            else
            {
                string SystemPath = Environment.SystemDirectory;//获取系统路径
                string path = SystemPath + "\\" + SFileName + ".bmp";
                FileInfo fi = new FileInfo(path);
                if (fi.Exists)
                {
                    fi.Delete();
                    PictureBox pb = new PictureBox();
                    pb.Image = Image.FromFile(FPath);
                    pb.Image.Save(SystemPath + "\\" + SFileName + ".bmp", ImageFormat.Bmp);
                }
                else
                {
                    PictureBox pb = new PictureBox();
                    pb.Image = Image.FromFile(FPath);
                    pb.Image.Save(SystemPath + "\\" + SFileName + ".bmp", ImageFormat.Bmp);
                }
                SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, 1);
            }
        }
    }
    
    private void Form1_LocationChanged(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count > 0)
        {
            if (frm2 != null)
            {
                frm2.Close();
            }
            frm2 = new Form2();
            string path = listView1.SelectedItems[0].SubItems[1].Text;
            int x = this.Location.X;
            int y = this.Location.Y;
            frm2.x = x + this.Width;
            frm2.y = y;
            frm2.pictureBox1.Image = Image.FromFile(path);
            frm2.Show();
            this.Focus();
        }
        else
        {
            if (frm2 != null)
            {
                frm2.Close();
            }
            frm2 = new Form2();
            int x = this.Location.X;
            int y = this.Location.Y;
            frm2.x = x + this.Width;
            frm2.y = y;
            frm2.Hide();
            this.Focus();
        }
    }
    private void listView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (listView1.SelectedItems.Count > 0)
        {
            string path = listView1.SelectedItems[0].SubItems[1].Text;
            frm2.pictureBox1.Image = Image.FromFile(path);
            frm2.Show();
            this.Focus();
        }
    }
}
partial class Form1
{
    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows 窗体设计器生成的代码

    /// <summary>
    /// 设计器支持所需的方法 - 不要
    /// 使用代码编辑器修改此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
        this.components = new System.ComponentModel.Container();
        this.toolStrip1 = new System.Windows.Forms.ToolStrip();
        this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
        this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
        this.listView1 = new System.Windows.Forms.ListView();
        this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
        this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
        this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
        this.添加ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
        this.删除ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
        this.清空ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
        this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
        this.设为桌面背景ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
        this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
        this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
        this.toolStrip1.SuspendLayout();
        this.contextMenuStrip1.SuspendLayout();
        this.SuspendLayout();
        // 
        // toolStrip1
        // 
        this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
        this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
        this.toolStripButton2,
        this.toolStripButton1});
        this.toolStrip1.Location = new System.Drawing.Point(0, 0);
        this.toolStrip1.Name = "toolStrip1";
        this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
        this.toolStrip1.Size = new System.Drawing.Size(220, 25);
        this.toolStrip1.TabIndex = 0;
        this.toolStrip1.Text = "toolStrip1";
        // 
        // toolStripButton2
        // 
        this.toolStripButton2.Image = global::APIdesktop.Properties.Resources.图标__66_;
        this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton2.Name = "toolStripButton2";
        this.toolStripButton2.Size = new System.Drawing.Size(49, 22);
        this.toolStripButton2.Text = "增加";
        this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
        // 
        // toolStripButton1
        // 
        this.toolStripButton1.Image = global::APIdesktop.Properties.Resources.图标__59_;
        this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
        this.toolStripButton1.Name = "toolStripButton1";
        this.toolStripButton1.Size = new System.Drawing.Size(49, 22);
        this.toolStripButton1.Text = "删除";
        this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
        // 
        // listView1
        // 
        this.listView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
        this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
        this.columnHeader1,
        this.columnHeader2,
        this.columnHeader3});
        this.listView1.ContextMenuStrip = this.contextMenuStrip1;
        this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.listView1.FullRowSelect = true;
        this.listView1.Location = new System.Drawing.Point(0, 25);
        this.listView1.MultiSelect = false;
        this.listView1.Name = "listView1";
        this.listView1.Size = new System.Drawing.Size(220, 338);
        this.listView1.TabIndex = 1;
        this.listView1.UseCompatibleStateImageBehavior = false;
        this.listView1.View = System.Windows.Forms.View.Details;
        this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
        // 
        // columnHeader1
        // 
        this.columnHeader1.Text = "名称";
        this.columnHeader1.Width = 80;
        // 
        // columnHeader2
        // 
        this.columnHeader2.Text = "路径";
        this.columnHeader2.Width = 80;
        // 
        // columnHeader3
        // 
        this.columnHeader3.Text = "类型";
        // 
        // contextMenuStrip1
        // 
        this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
        this.添加ToolStripMenuItem,
        this.删除ToolStripMenuItem,
        this.清空ToolStripMenuItem,
        this.toolStripSeparator1,
        this.设为桌面背景ToolStripMenuItem,
        this.退出ToolStripMenuItem});
        this.contextMenuStrip1.Name = "contextMenuStrip1";
        this.contextMenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
        this.contextMenuStrip1.Size = new System.Drawing.Size(143, 120);
        // 
        // 添加ToolStripMenuItem
        // 
        this.添加ToolStripMenuItem.Image = global::APIdesktop.Properties.Resources.图标__199_;
        this.添加ToolStripMenuItem.Name = "添加ToolStripMenuItem";
        this.添加ToolStripMenuItem.Size = new System.Drawing.Size(142, 22);
        this.添加ToolStripMenuItem.Text = "添加";
        this.添加ToolStripMenuItem.Click += new System.EventHandler(this.添加ToolStripMenuItem_Click);
        // 
        // 删除ToolStripMenuItem
        // 
        this.删除ToolStripMenuItem.Image = global::APIdesktop.Properties.Resources.图标__96_;
        this.删除ToolStripMenuItem.Name = "删除ToolStripMenuItem";
        this.删除ToolStripMenuItem.Size = new System.Drawing.Size(142, 22);
        this.删除ToolStripMenuItem.Text = "删除";
        this.删除ToolStripMenuItem.Click += new System.EventHandler(this.删除ToolStripMenuItem_Click);
        // 
        // 清空ToolStripMenuItem
        // 
        this.清空ToolStripMenuItem.Image = global::APIdesktop.Properties.Resources.图标__190_;
        this.清空ToolStripMenuItem.Name = "清空ToolStripMenuItem";
        this.清空ToolStripMenuItem.Size = new System.Drawing.Size(142, 22);
        this.清空ToolStripMenuItem.Text = "清空";
        this.清空ToolStripMenuItem.Click += new System.EventHandler(this.清空ToolStripMenuItem_Click);
        // 
        // toolStripSeparator1
        // 
        this.toolStripSeparator1.Name = "toolStripSeparator1";
        this.toolStripSeparator1.Size = new System.Drawing.Size(139, 6);
        // 
        // 设为桌面背景ToolStripMenuItem
        // 
        this.设为桌面背景ToolStripMenuItem.Image = global::APIdesktop.Properties.Resources.图标__22_;
        this.设为桌面背景ToolStripMenuItem.Name = "设为桌面背景ToolStripMenuItem";
        this.设为桌面背景ToolStripMenuItem.Size = new System.Drawing.Size(142, 22);
        this.设为桌面背景ToolStripMenuItem.Text = "设为桌面背景";
        this.设为桌面背景ToolStripMenuItem.Click += new System.EventHandler(this.设为桌面背景ToolStripMenuItem_Click);
        // 
        // 退出ToolStripMenuItem
        // 
        this.退出ToolStripMenuItem.Image = global::APIdesktop.Properties.Resources.图标__8_;
        this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
        this.退出ToolStripMenuItem.Size = new System.Drawing.Size(142, 22);
        this.退出ToolStripMenuItem.Text = "退出";
        this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
        // 
        // openFileDialog1
        // 
        this.openFileDialog1.Multiselect = true;
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(220, 363);
        this.Controls.Add(this.listView1);
        this.Controls.Add(this.toolStrip1);
        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
        this.MaximizeBox = false;
        this.MinimizeBox = false;
        this.Name = "Form1";
        this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
        this.Text = "设置桌面背景";
        this.Load += new System.EventHandler(this.Form1_Load);
        this.LocationChanged += new System.EventHandler(this.Form1_LocationChanged);
        this.toolStrip1.ResumeLayout(false);
        this.toolStrip1.PerformLayout();
        this.contextMenuStrip1.ResumeLayout(false);
        this.ResumeLayout(false);
        this.PerformLayout();

    }

    #endregion

    private System.Windows.Forms.ToolStrip toolStrip1;
    private System.Windows.Forms.ListView listView1;
    private System.Windows.Forms.ToolStripButton toolStripButton2;
    private System.Windows.Forms.ToolStripButton toolStripButton1;
    private System.Windows.Forms.ColumnHeader columnHeader1;
    private System.Windows.Forms.ColumnHeader columnHeader2;
    private System.Windows.Forms.ColumnHeader columnHeader3;
    private System.Windows.Forms.OpenFileDialog openFileDialog1;
    private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
    private System.Windows.Forms.ToolStripMenuItem 添加ToolStripMenuItem;
    private System.Windows.Forms.ToolStripMenuItem 删除ToolStripMenuItem;
    private System.Windows.Forms.ToolStripMenuItem 清空ToolStripMenuItem;
    private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
    private System.Windows.Forms.ToolStripMenuItem 设为桌面背景ToolStripMenuItem;
    private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
}
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }
    public int x;
    public int y;
    private void pictureBox1_Click(object sender, EventArgs e)
    {

    }

    private void Form2_Load(object sender, EventArgs e)
    {
        this.Location = new Point(x,y);
    }
}
partial class Form2
{
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows Form Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
        this.pictureBox1 = new System.Windows.Forms.PictureBox();
        ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
        this.SuspendLayout();
        // 
        // pictureBox1
        // 
        this.pictureBox1.BackColor = System.Drawing.Color.Black;
        this.pictureBox1.Location = new System.Drawing.Point(23, 24);
        this.pictureBox1.Name = "pictureBox1";
        this.pictureBox1.Size = new System.Drawing.Size(349, 348);
        this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
        this.pictureBox1.TabIndex = 0;
        this.pictureBox1.TabStop = false;
        this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
        // 
        // Form2
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.BackColor = System.Drawing.Color.White;
        this.BackgroundImage = global::APIdesktop.Properties.Resources.bg2;
        this.ClientSize = new System.Drawing.Size(395, 395);
        this.Controls.Add(this.pictureBox1);
        this.DoubleBuffered = true;
        this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
        this.Name = "Form2";
        this.ShowIcon = false;
        this.ShowInTaskbar = false;
        this.Text = "Form2";
        this.TransparencyKey = System.Drawing.Color.DarkGray;
        this.Load += new System.EventHandler(this.Form2_Load);
        ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
        this.ResumeLayout(false);

    }

    #endregion

    public System.Windows.Forms.PictureBox pictureBox1;

}

需要的再直接Call我,直接发。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

36寸便携旅行小吉他怎么选?八款高性价比颜值的儿童初学女生新手入门吉他品牌推荐!

本期介绍民谣吉他里的36英寸的Mini桶型&#xff0c;主要适用于小孩或者喜欢带琴外出旅行的朋友们&#xff0c;也被称为儿童吉他或者旅行吉他。这些吉他基本上也是配备标准指板的&#xff0c;演奏体验与大吉他一样。相比桶型较大的吉他&#xff0c;其音量会 相对较小&#xff0c…

zibll子比主题6.7用户徽章功能详解及配置教程[V6.7新功能]

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 用户徽章功能是现在很多社交类网站和app必不可少的功能了&#xff0c;能有效的增加网站交互的趣味性。 zibll子比主题V6.7就更新了用户徽章功能&#xff0c;接下来我们就来了解一下这个…

[3D数据深度学习] (PC/服务器集群cluster)CPU内存/GPU显存限制及解决办法

[3D数据深度学习] &#xff08;PC/服务器集群cluster&#xff09;内存/显存参数设置1. 硬件配置推荐2. 深度学习流程及遇到的问题3. CPU内存限制及参数设置4. GPU显存限制及参数设置3D数据的深度学习目前研究远不如2D深度学习成熟&#xff0c;其中最大的一个原因之一就是收到硬…

【跨层注意力:多层次融合】

Multi-level features fusion via cross-layer guided attention for hyperspectral pansharpening &#xff08;基于跨层注意力引导的多层次特征融合高光谱全色锐化&#xff09; 近年来&#xff0c;卷积神经网络&#xff08;CNN&#xff09;在计算机视觉中的成功应用引起了人…

新手入门吉他买什么牌子好?有哪些值得推荐的吉他品牌,附上初学者吉他选购攻略!【避坑指南】

在选购吉他之前&#xff0c;大家必须提前了解的一些关于吉他的知识&#xff0c;提前做好功课&#xff0c;不怕挑选不到适合的吉他&#xff0c;新手入门吉他怎么选&#xff1f;怎么选到适合自己的吉他&#xff1f;带着这些问题在这里我将详细地给大家一一讲解&#xff0c;同时最…

如何做好客户精细化管理?

很多人都知道客户精细化管理的重要性&#xff0c;但并不是所有人都掌握客户精细化管理的科学方法。 目前&#xff0c;客户精细化管理最常用的方法是基于RFM模型的客户细分方法。 RFM分析是客户关系分析中一种简单实用客户分析方法&#xff0c;他将最近一次消费、消费频率、消…

Java项目:基于ssm智能餐厅管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目主要分为服务员、厨师、收银员、经理四种角色&#xff1b; 主要功能包括&#xff1a; 客户可以根据自己的要求去选择菜品&#xff0c;厨师…

23种设计模式的分类和应用场景总结【设计模式】

23种设计模式的分类和应用场景总结【设计模式】设计模式分类创建型模式结构型模式行为型模式设计模式的几种原则应用场景总结各种模式的详细介绍创建型模式设计模式分类 23种设计模式可以分为三大类&#xff1a;创建型模式、结构型模式和行为型模式。 创建型模式 &#x1f34…

(附源码)SSM高考志愿智能选择系统 毕业设计 134565

SSM高考志愿智能选择系统 摘 要 高中教育的普及使得每年高考人数攀升&#xff0c;与此同时&#xff0c;信息不对称会使部分考生处于劣势&#xff0c;造成获录学校或专业性价比不高、报录比偏低、复读率增高、考研热等问题。针对这些情况&#xff0c;本文设计并实现了高考志愿智…

【时钟识别】Hough变换指针式时钟识别【含GUI Matlab源码 2085期】

⛄一、简介 1 仪表示数识别流程 基于刻度准确定位的指针式仪表示数识别方法包括预处理、指针检测、刻度定位、油位计表盘中心拟合与仪表读数计算5个部分。该方法无需预先添加任何表盘信息,算法流程如图2所示。整个流程分为两步且同时进行——第1步,将油位计图像进行灰度化和边…

DPDK技术原理概述

DPDK 基本技术指标准的 DPDK 数据平面开发包和 I/O 转发实现技术&#xff0c;本次将概述该部分的主要技术原理。 1 技术原理与架构 由于采用软件转发和软件交换技术&#xff0c;单服务器内部的转发能力是 NFV 系统的主要性能瓶颈。在各类高速转发的 NFV 应用中&#xff0c;数…

赣货通全球桥接江西制造全球开花,贸易强国供应链出海江西在奋进

“赣货通全球”平台是什么? “赣货通全球”平台是江西制造进入全球供应链的数字贸易平台&#xff0c;平台免费为江西制造打造永不落幕线上国际化“赣品展”。核心的后台功能为企业用户提供大数据获客及营销功能&#xff0c;同时为企业提供贸易全流程的第三方外贸综合服务&…

Ubuntu18.04复现mmdetection3d

文章目录一、环境搭建二、测试demo三、数据预处理四、训练参考一、环境搭建 从零配置深度学习环境参考&#xff1a;ubuntu18.04 AnnacondaCUDA10.2CuDNN7.6.5使用anaconda创建虚拟环境 conda create -n open-mmlab3d python3.8 conda activate open-mmlab3d安装torch 先从官网…

自然语言处理竞赛相关比赛项目、比赛经验、工具、算力平台资源分享

本资源主要收录NLP竞赛经验贴、通用工具、学习资料等&#xff0c;本项目源于2020年7月一次竞赛的经历&#xff0c;当时在找参考资料时遇到了很多困难&#xff0c;包括内容分散、质量不高等。2021年3月开始更新本项目&#xff0c;志在帮助NLPer提升模型性能。2021年6月开放本项目…

大一Web课程设计 基于HTML家乡主题网页项目的设计与实现——中国牡丹之都山东菏泽(6页)

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

MySQL高级【索引概述索引结构】

目录 索引概述 无索引演示&#xff1a;一种表没有索引的查找方式 有索引演示&#xff1a;以二叉树进行演示 索引的优缺点 索引结构 二叉树&#xff1a; B-Tree&#xff08;多路平衡查找树&#xff09; BTree树 Hash数据结构 索引概述 索引它是一种有序的数据结构&…

测开真的是测试工程师的发展终点吗?

前言 在一线大厂&#xff0c;没有测试这个岗位&#xff0c;只有测开这个岗位&#xff0c;即使是做业务测试&#xff0c;那么你的title也是测开。 所以想聊一聊测开的看法&#xff0c;但不代表这是正确的看法&#xff0c;仅供参考。 没来阿里之前我对测开的看法 一直以为专职…

Docker入门 --- 简单安装及部署

Docker的简单安装及部署 文章目录Docker的简单安装及部署一、Docker概述1. 什么是Docker2. Docker架构3. DockerHub4. Docker运行模式5. Docker和虚拟机的区别二、安装Docker1. 环境准备2. 安装3. 配置镜像加速器三、Docker服务、镜像、容器命令1. 服务(进程)相关命令2. 镜像相…

【大数据处理技术】「#2」Hive数据分析

文章目录操作Hive简单查询分析测试简单指令查询条数统计分析关键字条件查询分析以关键字的存在区间为条件的查询根据用户行为分析用户实时查询分析操作Hive 启动Hive在“hive>”命令提示符状态下执行下面命令&#xff1a; hive> use dbtaobao; # 使用dbtaobao数据库 hi…

1.7 TCP粘包、缺包问题解决

文章目录1、TCP粘包问题1.1、客户端粘包现象1.2、服务端粘包1.3、粘包、缺包解决2、包头设计1、TCP粘包问题 1.1、客户端粘包现象 因为客户端有一个优化算法(Nagle)&#xff0c; send(“abc”); send(“123”); send(“def”); 如果这三次发送非常紧密时间非常短&#xff0c;会…