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

PictureBox默認情況下

比起上面的還是有一點不太好看的…
使用C#提供的類進行圓形:
工具箱拉出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ù)就可以獲得進程ACL的任意權(quán)限!2011-06-06
Unity中的PostProcessBuild實用案例深入解析
這篇文章主要為大家介紹了Unity中的PostProcessBuild實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
C#在后臺運行操作(BackgroundWorker用法)示例分享
BackgroundWorker類允許在單獨的專用線程上運行操作。如果需要能進行響應(yīng)的用戶界面,而且面臨與這類操作相關(guān)的長時間延遲,則可以使用BackgroundWorker類方便地解決問題,下面看示例2013-12-12
c#多線程網(wǎng)絡(luò)聊天程序代碼分享(服務(wù)器端和客戶端)
本程序使用VS2005 制作,程序分為三塊,XuLIeHua類庫下有我寫的把結(jié)構(gòu)序列化的類,還有就是服務(wù)器端和客戶端2013-12-12

