1.首先,打开工具箱,找到PictureBox控件

2.打开PictureBox的属性面板,设置Image属性

3.准备嵌入图片资源

图片资源有两个地方,一个是全局的在Properties下的Resources.resx文件。

另一个是在专属于某窗体使用的图片资源,位置在窗体下的resx文件中,如上图的第2个红圈就是。

4.设置Image属性,打开弹窗

本地资源,对应的是专属于某窗体使用的资源。

项目资源文件,则是大家都可以使用的资源。

5.Resources文件夹

不论是本地资源,还是项目资源,添加后,都会传入到Resources文件夹下,所以,注意命名不要相同。

6.代码编写

如果是以项目资源的方式加载,它对应的代码编写是

global::WindowsFormsApp1.Properties.Resources.资源名

如果是以本地资源的方式加载,他对应的代码编写是

ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
this.pictureBox1.Image = ((Image)(resources.GetObject("Image")));

由ComponentResourceManager进行管理。

7.还有另外一种简便的加载资源的方式

将任意一张图片放入项目中,如下图,以PipeRack-32.png为例子

修改它的属性为嵌入的资源:

最后使用下面的代码读取即可,其中“RevitDevelopment.res.PipeRack-32.png”就是文件在你项目中的位置,格式为:“命名空间.文件夹名称.文件名”:

Assembly a = Assembly.GetExecutingAssembly();
Stream s = a.GetManifestResourceStream("RevitDevelopment.res.PipeRack-32.png");
BitmapSource b = BitmapFrame.Create(s);

8.如果您是.net core下的wpf使用,那么还需要自己添加资源文件,有了资源文件后,将图片放到资源文件中,然后直接C#代码访问该类即可,该类会生成资源文件静态属性

在资源文件中添加各种图片资源

随后,打开该资源文件的Designer.cs文件

您会看到该资源文件下的静态属性,有了图片的静态属性,您肯定会使用了。

9.如果您是.net 5.0/6.0 或者.net core,那么System.Drawing命名空间,您将不再适用,那么图片如何取出来并赋给PictureBox呢?

首先,.net core下的操作图片,需要安装其它nuget包,有好几种包都能使用,如IMageSharp等,但我这里推荐您使用微软自带的Microsoft.Maui.Graphics。安装就不说了,nuget搜索安装即可。

您不能安装System.Drawing.Common,虽然它原本是为了处理跨平台的,但其本质还是windows平台,会遇到很多你很麻烦的问题。

为了一次性解决,您务必安装真正的跨平台图像处理类库,如上述所推荐。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZhongzhouShaonian.Ziyuan.Expression.Expressions;
using Microsoft.Maui.Graphics.Platform;
using Microsoft.Maui.Graphics;
using System.Reflection;
using System.IO;namespace ZhongzhouShaonian.Ziyuan.Component.Controls
{/// <inheritdoc cref="IChoiceControl"/>public class ChoiceControl : ClassControl, IChoiceControl{/// <inheritdoc/>public IImage Icon { get; set; }/// <inheritdoc cref="ChoiceControl"/>public ChoiceControl(){IImage image;Assembly assembly = GetType().GetTypeInfo().Assembly;using (Stream stream = assembly.GetManifestResourceStream("Component.Controls.Classification.Icons.Choice.png")){image = PlatformImage.FromStream(stream);}Icon = image;}}
}

上述代码,可以让您访问得到一个“IImage”对象,通过这个对像,可以使用下面的代码,给PictureBox赋值:

using Microsoft.Maui.Graphics;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace Winform.UI.UserControls
{/// <summary>/// 表示入口主控件/// </summary>public partial class EntranceUserControl : UserControlBase{/// <inheritdoc cref="EntranceUserControl"/>public EntranceUserControl(){InitializeComponent();}/// <inheritdoc/>protected override void OnLoad(EventArgs e){base.OnLoad(e);ChoiceControl control = new ChoiceControl();IImage icon = control.Icon;pictureBox1.Image = Image.FromStream(icon.AsStream(ImageFormat.Png));}}
}

最后,贴上一张效果图:

祝您用餐愉快。

C#窗体Winform,如何嵌入图片添加图片,使用图片资源?相关推荐

  1. 通过Python的PIL库给图片添加图片水印

    文章目录 前言 一.素材准备 1.原图 2.水印图 二.使用PIL库给图片添加图片水印 1.引入库 2.定义图片路径 3.打开原图 4.打开水印图片 5.计算水印图片大小 6.计算原图大小 7.调整水 ...

  2. 图片添加图片水印和文字水印

    title: 图片添加图片水印和文字水印 tags: 图片处理,水印,图片水印,文字水印 date: 2018-10-29 20:15:10 grammar_cjkRuby: true 前言:最近需要 ...

  3. java水印_Java实现给图片添加图片水印,文字水印及马赛克的方法示例

    本文实例讲述了Java实现给图片添加图片水印,文字水印及马赛克的方法.分享给大家供大家参考,具体如下: 可以在eclipse中新建个Utils类,把以下代码复制进去直接使用,以下方法实现单个或多个水印 ...

  4. winform水晶报表中添加图片

    文章目录 前言 一.VS中找不到ReportView 二.使用步骤 1.直接拉取控件到窗体 ​编辑 2.添加参数 总结 前言 应用场景:在做一个巡检机器人项目时,对于巡检结果,需要在Winform端显 ...

  5. java为word、excel、pdf、ppt、图片添加图片水印(文字水印同理)

    使用idea开发,所需依赖如下: spire的下载.使用,代码中会给出网址.idea中选中右键,添加为库即可使用 <!--使用spire,导入的jar--> <dependency& ...

  6. odoo13 报价单 PDF 中添加图片添加图片

    odoo中数据的存储,XML 都是在 postgresql数据库中. --dev xml -c odoo.conf 添加这行代码,可以在更改了odoo中XML文件后不必每次升级模块. 原图: 效果图: ...

  7. Qt中为工程添加资源文件、给按钮添加图片

    Qt中为工程添加资源文件.给按钮添加图片 1.使用QIcon类.代码如下: QIcon icon;icon.addFile(tr("res/icon/wall.png"));ui- ...

  8. 图片添加二维码水印教程

    本博客介绍一下用jdk awt实现图片加文字水印和图片水印的方法 一.图片文字水印 import java.awt.AlphaComposite; import java.awt.Color; imp ...

  9. python给图片添加水印图片_使用Python编写批量添加图片水印程序

    文章目录 一.为什么要为图片添加水印 二.利用Python为图片添加水印 遍历文件夹下所有图片文件 三.利用QT for Python制作图片水印添加程序 一.为什么要为图片添加水印 在互联网写文章最 ...

最新文章

  1. 例5.12 输入一串字符,字符个数不超过100,且以.结束。 (信息学奥赛一本通)...
  2. 轮播swiper配置选项
  3. 工作339:pc父组件通过props传值给子组件,如何避免子组件改变props的属性值报错问题
  4. USACO-Section2.3 Longest Prefix
  5. [ 转载 ] Java基础10--关于Object类下所有方法的简单解析
  6. 如何获取Oracle存储过程中的参数名称、类型?
  7. matlab神经网络训练图解释,matlab实现神经网络算法
  8. 【资料】舵机控制原理
  9. tp3.2中前台模板中日期时间的转换
  10. 为什么有些微信群要不定期清理不活跃成员?
  11. 火车票电子客票系统已全面上线,如何识别多种身份有效证件?
  12. 下载安装Tomcat8.5.30
  13. 常见的网站功能需求及解决方案
  14. 云手机虚拟机服务器配置,云手机虚拟机服务器
  15. python爬取微博评论数据的github链接_GitHub - 13633825898/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...
  16. 声网3D在线互动场景空间音频的实时渲染——如何把“声临其境”推向极致
  17. Web前端:HTML+CSS+JS实现美女照片3D立方体旋转
  18. androidP 对反射的限制之黑名单机制
  19. 阿里云国际版ECS云服务器Windows系统手动搭建WordPress
  20. iOS Siri调用自己应用的视频呼叫功能

热门文章

  1. Encryption raised an exception
  2. JS接口安全域名:XXX内容与下载文件不符,请检查文件内容或重新上传原始文件
  3. 英语六级试卷软件测试,大学英语六级考试预测试卷以及答案
  4. mixpanel实验教程(2) 支持你啊
  5. matlab将图像油画,photoshop图像滤镜——油画算法(含matlab与C代码)
  6. Maven读书笔记之六(仓库)
  7. 上交计算机系专硕学费,上海交通大学2021级专硕学费再涨,最高翻3倍!@上海考研党...
  8. PEG 动态选股策略
  9. 移植tslib,测试电容屏
  10. 亚马逊员工的至暗时刻:1.5W人血淋淋的裁员开始..