C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像
現(xiàn)在只要是有關(guān)頭像的框基本都是圓形的了,C#提供的PictureBox控鍵默認(rèn)情況下是方形的非常大的影響美觀

PictureBox默認(rèn)情況下

比起上面的還是有一點(diǎn)不太好看的…
使用C#提供的類進(jìn)行圓形:
工具箱拉出PictureBox

設(shè)置圖片的顯示模式為ZOOM

特別注意:
框的比例必須為一樣不然會(huì)變橢圓的

窗體加載時(shí):
pictureBox1.Image = Image.FromFile(@"C:\Users\Administrator\Desktop\1.png");
為了方便演示,在窗口加載的時(shí)候加載出圖片

圖片加載出來后然后,把框框變圓的
GraphicsPath gp = new GraphicsPath();
gp.AddEllipse(pictureBox1.ClientRectangle);
Region region = new Region(gp);
pictureBox1.Region = region;//賦值
gp.Dispose();//釋放資源
region.Dispose();//釋放資源
只有簡單的幾行
效果圖:

一下美觀了很多
接下來演示從數(shù)據(jù)庫讀取圖片到框框上:
同樣也是,寫在窗口的加載事件
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;
}
}
效果圖:

圖片是從數(shù)據(jù)庫讀取的,并不是本地上傳的??!
到此這篇關(guān)于C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫中讀取頭像的文章就介紹到這了,更多相關(guān)C# 圓形頭像框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#基于自定義事件EventArgs實(shí)現(xiàn)發(fā)布訂閱模式
這篇文章介紹了C#基于自定義事件EventArgs實(shí)現(xiàn)發(fā)布訂閱模式的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
C#關(guān)于Textbox滾動(dòng)顯示最后一行,不閃爍問題
這篇文章主要介紹了C#關(guān)于Textbox滾動(dòng)顯示最后一行,不閃爍問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
C#實(shí)現(xiàn)判斷一個(gè)時(shí)間點(diǎn)是否位于給定時(shí)間區(qū)間的方法
這篇文章主要介紹了C#實(shí)現(xiàn)判斷一個(gè)時(shí)間點(diǎn)是否位于給定時(shí)間區(qū)間的方法,涉及C#針對(duì)時(shí)間的轉(zhuǎn)換與判定相關(guān)技巧,需要的朋友可以參考下2015-08-08
Unity3d實(shí)現(xiàn)無限循環(huán)滾動(dòng)背景
這篇文章主要為大家詳細(xì)介紹了Unity3d實(shí)現(xiàn)無限循環(huán)滾動(dòng)背景,一個(gè)完整的商店廣告牌組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

