C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫(kù)中讀取頭像
現(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í)候加載出圖片
圖片加載出來(lái)后然后,把框框變圓的
GraphicsPath gp = new GraphicsPath(); gp.AddEllipse(pictureBox1.ClientRectangle); Region region = new Region(gp); pictureBox1.Region = region;//賦值 gp.Dispose();//釋放資源 region.Dispose();//釋放資源
只有簡(jiǎn)單的幾行
效果圖:
一下美觀了很多
接下來(lái)演示從數(shù)據(jù)庫(kù)讀取圖片到框框上:
同樣也是,寫在窗口的加載事件
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; 首頁(yè) form = new 首頁(yè)(); 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ù)庫(kù)讀取的,并不是本地上傳的!!
到此這篇關(guān)于C# 制作PictureBox圓形頭像框并從數(shù)據(jù)庫(kù)中讀取頭像的文章就介紹到這了,更多相關(guān)C# 圓形頭像框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#基于自定義事件EventArgs實(shí)現(xiàn)發(fā)布訂閱模式
這篇文章介紹了C#基于自定義事件EventArgs實(shí)現(xiàn)發(fā)布訂閱模式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05C#關(guān)于Textbox滾動(dòng)顯示最后一行,不閃爍問(wèn)題
這篇文章主要介紹了C#關(guān)于Textbox滾動(dòng)顯示最后一行,不閃爍問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04C#實(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-08Unity3d實(shí)現(xiàn)無(wú)限循環(huán)滾動(dòng)背景
這篇文章主要為大家詳細(xì)介紹了Unity3d實(shí)現(xiàn)無(wú)限循環(huán)滾動(dòng)背景,一個(gè)完整的商店廣告牌組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01