C#圓形頭像框制作并從數(shù)據(jù)庫讀取
現(xiàn)在只要是有關(guān)頭像的框基本都是圓形的了,C#提供的PictureBox控鍵默認(rèn)情況下是方形的非常大的影響美觀
PictureBox默認(rèn)情況下
比起上面的還是有一點不太好看的…
使用C#提供的類進(jìn)行圓形:
工具箱拉出PictureBox
設(shè)置圖片的顯示模式為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();//釋放資源
只有簡單的幾行
效果圖:
一下美觀了很多
接下來演示從數(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#圓形頭像框制作并從數(shù)據(jù)庫讀取的文章就介紹到這了,更多相關(guān)C#圓形頭像框制作 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實現(xiàn)在購物車系統(tǒng)中生成不重復(fù)訂單號的方法
這篇文章主要介紹了C#實現(xiàn)在購物車系統(tǒng)中生成不重復(fù)訂單號的方法,涉及C#中時間與字符串操作的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下2015-05-05提權(quán)函數(shù)之RtlAdjustPrivilege()使用說明
RtlAdjustPrivilege() 這玩意是在 NTDLL.DLL 里的一個不為人知的函數(shù),MS沒有公開,原因就是這玩意實在是太NB了,以至于不需要任何其他函數(shù)的幫助,僅憑這一個函數(shù)就可以獲得進(jìn)程ACL的任意權(quán)限!2011-06-06Unity中的PostProcessBuild實用案例深入解析
這篇文章主要為大家介紹了Unity中的PostProcessBuild實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05C#在后臺運行操作(BackgroundWorker用法)示例分享
BackgroundWorker類允許在單獨的專用線程上運行操作。如果需要能進(jìn)行響應(yīng)的用戶界面,而且面臨與這類操作相關(guān)的長時間延遲,則可以使用BackgroundWorker類方便地解決問題,下面看示例2013-12-12c#多線程網(wǎng)絡(luò)聊天程序代碼分享(服務(wù)器端和客戶端)
本程序使用VS2005 制作,程序分為三塊,XuLIeHua類庫下有我寫的把結(jié)構(gòu)序列化的類,還有就是服務(wù)器端和客戶端2013-12-12