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;
            }
      }

效果图:

图片是从数据库读取的,并不是本地上传的!!

到此这篇关于C# 制作PictureBox圆形头像框并从数据库中读取头像的文章就介绍到这了,更多相关C# 圆形头像框内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#动态生成PictureBox并指定图片的方法

    本文实例讲述了C#动态生成PictureBox并指定图片的方法.分享给大家供大家参考.具体如下: int Num = 0; PictureBox[] pb; Num = 6; pb = new PictureBox[Num]; for (int i = 1; i < Num; i++) { pb[i] = new System.Windows.Forms.PictureBox(); pb[i].BorderStyle = BorderStyle.FixedSingle; pb[i].Locati

  • C#控件picturebox实现图像拖拽和缩放

    本文实例为大家分享了C# picturebox实现图像拖拽和缩放的具体代码,供大家参考,具体内容如下 1.核心步骤: ①新建Point类型全局变量mouseDownPoint,记录拖拽过程中鼠标位置: ②MouseDown事件记录Cursor位置: ③MouseMove事件计算移动矢量,并更新pictureBox1.Location. 代码: private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { if (e.B

  • C#控件picturebox实现画图功能

    本文实例为大家分享了C# picturebox实现画图功能的具体代码,供大家参考,具体内容如下 在Form上添加 一个pictureBox,一个button控件 如图所示: 这样我们的绘画面板就弄好了,把pictureBox的dock属性设置为fill,按键为清屏的作用. private Point p1, p2;//定义两个点(启点,终点) private static bool drawing=false;//设置一个启动标志 private void pictureBox1_MouseDo

  • c# 给button添加不规则的图片以及用pictureBox替代button响应点击事件的方法

    1.Flat button 用这个方法,前提是要把button的type设置为Flat 复制代码 代码如下: button1.TabStop = false;button1.FlatAppearance.BorderSize = 0;button1.FlatAppearance.BorderColor = Color.FromArgb(0, 255, 255, 255); //设置边框的颜色Transparentbutton1.FlatAppearance.MouseOverBackColor

  • C#给picturebox控件加图片选中状态的2个方法

    方法一: 简单的方法就是改变picturebox 控件的borderstyle样式 currentSelectPicBox.BorderStyle = BorderStyle.Fixed3D;            currentSelectPicBox.Refresh();//强制控件重新绘制 方法二 在picturebox控件加一个矩形框  但是这种方法在程序中反应比较慢. 添加矩形框的方法:            Graphics pictureborder = currentSelect

  • C# 制作PictureBox圆形头像框并从数据库中读取头像

    现在只要是有关头像的框基本都是圆形的了,C#提供的PictureBox控键默认情况下是方形的非常大的影响美观 PictureBox默认情况下 比起上面的还是有一点不太好看的- 使用C#提供的类进行圆形: 工具箱拉出PictureBox 设置图片的显示模式为ZOOM 特别注意: 框的比例必须为一样不然会变椭圆的 窗体加载时: pictureBox1.Image = Image.FromFile(@"C:\Users\Administrator\Desktop\1.png"); 为了方便演

  • C#圆形头像框制作并从数据库读取

    现在只要是有关头像的框基本都是圆形的了,C#提供的PictureBox控键默认情况下是方形的非常大的影响美观 PictureBox默认情况下 比起上面的还是有一点不太好看的- 使用C#提供的类进行圆形: 工具箱拉出PictureBox 设置图片的显示模式为ZOOM 特别注意: 框的比例必须为一样不然会变椭圆的 窗体加载时: pictureBox1.Image = Image.FromFile(@"C:\Users\Administrator\Desktop\1.png"); 为了方便演

  • C# 获取指定QQ头像绘制圆形头像框GDI(Graphics)的方法

    效果图: 完全代码(下方有详细解读) private void textBox1_TextChanged(object sender, EventArgs e) {//这里是文本框的事件 值发生 改变时发生 StringBuilder UserID = new StringBuilder(20); //值经常发生改变 使用StringBuilder 并且开辟20字符的空间 Regex r = new Regex(@"[\d]"); //正则表达式 过滤字符 \d表示只要0-9的数字 /

  • Android中ImageCropper矩形、圆形 裁剪框的实现方法

    前言 支持圆形裁剪框,裁剪后生成圆形图案. 代码基于开源项目修改,github上项目链接:https://github.com/shengge/android-crop (本地下载) 还是贴下效果图: 说一下圆形裁剪实现部分: 1.UI方面,自定义CircleHighlightView继承至HighlightView(原有的矩形裁剪框实现),直接看draw方法实现 @Override protected void draw(Canvas canvas) { canvas.save(); Path

  • javascript 调用XML制作连动下拉框

    作者: 何耀Thursday, June 5 2003 2:44 PM 传统的HTML页面中连动下拉框采用了两种方法:1)直接将下拉框中的内容hardcode于html的javascript中,调用javascript函数循环写入下拉框中.这种方法不适用于下拉框内容经常改变的情况.因为数据源和javascript程序写死在同一页面. <html><head><title>List</title><meta http-equiv="Conten

  • android 实现APP中改变头像图片的实例代码

    具体代码如下所示: package com.example.studyapplication.fragment; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory

  • WordPress中Gravatar头像缓存到本地及相关优化的技巧

    将Gravatar全球通用头像缓存的目的在于加快网站的打开速度,因为Gravatar官网的服务器在国外,加上伟大的GFW,国内打开速度经常很慢.方法来自willin,不过貌似他的网站已经打不开了- -   将Gravatar全球通用头像缓存到本地   缓存方法如下: 1.建立缓存目录 在WordPress根目录建立一个名为 avatar的文件夹,设置该文件夹的权限为 0755 (如果 0755 不行,就试一下 0777). 2.设置默认头像 准备一张大小适合(32*32即可)的默认头像,命名为"

  • 详解WordPress中的头像缓存和代理中的缓存更新方法

    wordpress评论中的头像是使用Gravatar的头像服务(Gravatar官方注册地址:http://en.gravatar.com),用户的缓存头像一般都是固定不变的,所以我们可以将头像缓存到本地来提高我们网站的访问速度. 我的wordpress avatar目录的头像缓存: wordpress头像缓存功能设置方法 首先是在根目录下建立一个文件夹avatar,权限755.再在里面放一个默认的头像(default.jpg),没头像的童鞋就会用默认的.代码如下: function my_av

  • vue 通过下拉框组件学习vue中的父子通讯

    如果说vue组件化开发中第一步应该了解的是什么的话,那无疑是父子组件之间是如何实现通讯的(说白了就是父子组件中数据是如何传递的),只有理解了这一步,才能更好的开发组件 这里先提出两个关键词: props 与 emit : 写这个组件之前,先看看效果图: 组件开发分析: 既然是组件: 首先组件内部数据内容肯定是可变的(如上图中的"按时间排序"之类的),这必须由父组件传入(即父组件如何将数据传个父组件); 在选择了内容之后,如何将数据传出来(即子组件如何将数据传给父组件) 先写结构: 父组

  • layui从数据库中获取复选框的值并默认选中方法

    如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="../../../static/js/css/layui.css" rel=

随机推荐