C# 制作PictureBox圆形头像框并从数据库中读取头像
作者:小马的黄金棺材板 发布时间:2024-01-21 05:17:07
标签:C#,PictureBox,圆形头像框
现在只要是有关头像的框基本都是圆形的了,C#提供的PictureBox控键默认情况下是方形的非常大的影响美观
PictureBox默认情况下
比起上面的还是有一点不太好看的…
使用C#提供的类进行圆形:
工具箱拉出PictureBox
设置图片的显示模式为ZOOM
特别注意:
框的比例必须为一样不然会变椭圆的
窗体加载时:
pictureBox1.Image = Image.FromFile(@"C:\Users\Administrator\Desktop\1.png");
为了方便演示,在窗口加载的时候加载出图片
图片加载出来后然后,把框框变圆的
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(pictureBox1.ClientRectangle);
Region region = new Region(gp);
pictureBox1.Region = region;//赋值
gp.Dispose();//释放资源
region.Dispose();//释放资源
只有简单的几行
效果图:
一下美观了很多
接下来演示从数据库读取图片到框框上:
同样也是,写在窗口的加载事件
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(pictureBox1.ClientRectangle);
Region region = new Region(gp);
pictureBox1.Region = region;
gp.Dispose();
region.Dispose();
CheckForIllegalCrossThreadCalls = false;
username.Text = 登录界面.jmuser;
Thread th = new Thread(a);
th.IsBackground = true;
th.Start();
us = username.Text;
首页 form = new 首页();
form.TopLevel = false;
form.Parent = panel1;
panel1.Controls.Add(form);//将子窗体载入panel
form.Show();
SqlConnectionStringBuilder bu = new SqlConnectionStringBuilder();
bu.Password = "0";
bu.UserID = "0";
bu.DataSource = "0-0";
bu.InitialCatalog = "0";
SqlConnection b = new SqlConnection(bu.ToString());
string str = "select * from user1 where username ='" + 登录成功界面.us + "'";
b.Open();
SqlCommand c = new SqlCommand(str, b);
SqlDataReader d = c.ExecuteReader();
while (d.Read())
{
// label2.Text = d["userid"].ToString();
string s = d["头像"].ToString();
byte[] imageBytes = Convert.FromBase64String(s);
MemoryStream memoryStream = new MemoryStream(imageBytes, 0, imageBytes.Length);
memoryStream.Write(imageBytes, 0, imageBytes.Length);
Image image = Image.FromStream(memoryStream);
this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
this.pictureBox1.Image = image;
}
}
效果图:
图片是从数据库读取的,并不是本地上传的!!
来源:https://blog.csdn.net/dpc5201314/article/details/119902384


猜你喜欢
- 常用的网站性能测试指标有:并发数、响应时间、吞吐量、性能计数器等。1、并发数并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力
- 1 什么是服务端渲染 SSRserver side render就是通过后端吐模板,而不是通过前端ajax获取数据,拼接字符串。2 为什么需
- 一、触发器概念触发器是SQL server提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,是由事件来触
- 首先你要确保你机器上面安装了python,其次,你还要确保你上面安装了Django。接下来,才能进入到搭建第一个Django应用程序很简单的
- 目录一、使用方法二、输出结果1.id2.select_type3.table4.partitions5.type6.possible_key
- 今天用FrontPage2003,无意中发现一个bug,稍加研究,基本发现这个bug的规律了首先是我的系统版本和Frontpage版本:我的
- 在MongoDB中的ObjectID,可以理解为是一个不会重复的ID,这里有个链接https://www.aspxhome.com/arti
- loc和iloc的意思首先,loc是location的意思,和iloc中i的意思是指integer,所以它只接受整数作为参数,详情见下面。l
- 阿里云 视频直播 配置 及 PHP-SDK 接入教程个人感觉,阿里的文档比微信的要坑很多…微信最多是有些比较重要的东西放到比较不起眼、比较难
- Aphorismthe fight is worth it.django models 连接 sqlite 数据库django 版本为 1.
- function getBytesLength(str){ var re=/[\x00-\xf
- Mysql数据库备份的常用3种方法: 1、直接拷贝(cp、tar,gzip,cpio) 2、mysqldump 3、mysqlhotcopy
- 前言:在上一篇文章,已经实现了访问指定URL就返回了指定的数据,这也体现了RESTful API的一个理念,每一个URL代表着一个资源。当然
- 使用代码让我们从Mongo数据库的一些细节和基本命令开始,并最终介绍如何创建一个可连接至Mongo数据库的.NET Windows应用。Mo
- 修改models效果如下class EmailVerifyRecord(models.Model): code = models
- 也许已经有人发现可以这样写...CSS代码部分a.info { position:
- 一个快速的REST例子首先来看些基本知识。如果没有服务API,Neo4j就不能支持其他语言。该接口提供一组基于JSON消息格式的
- apiDoc的安装npm install apidoc -g点击官方文档生成api的终端命令:apidoc -i 代码所在路径-o 生成文件
- 模型的恢复对于的模型的恢复来说,需要首先恢复模型的整个图文件,之后从图文件中读取相应的节点信息。存储的模型文件包括四个子文件,如下:&nbs
- 本文实例讲述了Python实现将目录中TXT合并成一个大TXT文件的方法。分享给大家供大家参考。具体如下:在网上下了一个dota的英雄攻略,