要使用GetPixel函數(shù)來取得像素的顏色值,代碼如下:
創(chuàng)新互聯(lián)建站是專業(yè)的長寧網(wǎng)站建設公司,長寧接單;提供成都網(wǎng)站設計、網(wǎng)站制作、外貿營銷網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行長寧網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
1
2
3
4
5
private void button1_Click(object sender, EventArgs e)
{
Color color = new Bitmap(pictureBox1.Image).GetPixel(10, 10);
MessageBox.Show(color.ToString());
VB.net與VB不同。
VB.net已經(jīng)有專門繪圖的類。
可以定義筆刷然后用Drawing類中的方法繪制。
Private Sub DrawEllipse()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Private Sub DrawRectangle()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics as System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
保存前加一句 myImage2.SetResolution(300, 300) 你設置的bMape不是保存的主畫布 所以無效,設置分辨率就是 SetResolution(X,Y)
首先,還是談談圖像像素時數(shù)據(jù)獲取方面吧,.net中的圖像相關類基本上都是基于GDI+的,因此,圖像數(shù)據(jù)的獲取其實也是調用GDI+的一些函數(shù)。這個函數(shù)就是LockBits,在vb.net中彩色圖像數(shù)據(jù)的快速獲取 一文中,我們是調用了Marshal.Copy把LockBits鎖定的內存數(shù)據(jù)拷貝到數(shù)據(jù)中,然后對數(shù)組中的值進行處理。這樣做主要的原因是VB.NET不好直接訪問內存(Marshal.ReadByte之類的函數(shù)不適合用于大型的循環(huán)中)。那么,這就造成了2個不好的事情,第一:在同一時間需要2倍于圖像數(shù)據(jù)量的內存,第二:內存數(shù)據(jù)拷貝到數(shù)據(jù),以及處理后再把數(shù)組的數(shù)據(jù)拷貝會內存中都是會減低速度的。作為一種改進,我們應該充分利用LockBits的功能。LockBits中的LockMode中有一種模式為ImageLockMode.UserInputBuffer,該模式下需要用戶先申請內存,然后在把圖像數(shù)據(jù)按照相關格式填充如這個內存中。這樣,就可以先定義個數(shù)組,然后把圖像數(shù)據(jù)填充到這個數(shù)組中,就避免了來回拷貝的耗時了,簡單示例代碼如下:
Dim BmpData As New BitmapData
Stride = ((Bmp.Width * 3 + 3) And HFFFFFFFC)
Dim PixleValue(Stride * Bmp.Height) As Byte
Dim Hanlde As GCHandle = GCHandle.Alloc(PixleValue, GCHandleType.Pinned)
BmpData.Scan0 = Hanlde.AddrOfPinnedObject()
應該是邊界溢出了,因為默認是0開始,所以 PictureBox1.Image.Width-1
同理PictureBox1.Image.Height - 1,不然行循環(huán)也會溢出
本文題目:vb.net畫圖像素,VB圖像處理
網(wǎng)站鏈接:http://vcdvsql.cn/article24/hshoje.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、網(wǎng)站維護、電子商務、App設計、標簽優(yōu)化、域名注冊
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)