重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
基于具有 能處理 256色或 256色以上的視頻適配器和顯示驅動程序的系統, vb 可支持 256 種顏色。VB 中的顏色設置 界面上的彩色圖形能夠產生更強的視覺效果,因而越來越受到用戶的重視。 在 Visual Basic 中,窗體、控件、圖形以及文字信息都可以用不同的顏色顯示。 對于所有的顏色屬性和圖形方法,每種顏色都由一個 Long 整數表示。對于多媒體應用程序, 或對于那些需要顯示接近相片質量圖 像的應用程序來說,具有同時顯示 256 色的功能是特別有價值的。 第一種: 打開畫圖板,顏色里面調出你要的顏色以后,記下紅綠藍的數值 然后vb中用xxx.forecolor(或者backcolor之類)=rgb(紅,綠,藍) 這種辦法好處就是很簡單 不好之處就是不能在設計的時候更改 第二種: 打開畫圖板,調好顏色以后 記下紅綠藍 打開計算器 分別翻譯成16進制 然后vb中用xxx.forecolor = H藍綠紅 例如藍色255 16進制就是FF 紅色0 16進制是0 綠色128 16進制是80 然后顏色就是HFF8000 (0要補齊) 第三種: 打開專業的制圖軟件(photoshop/fireworks) 直接獲取16進制顏色 比如說#AABBCC 然后對應的VB種顏色就是HCCBBAA
泌陽網站建設公司創新互聯,泌陽網站設計制作,有大型網站制作公司豐富經驗。已為泌陽1000多家提供企業網站建設服務。企業網站搭建\成都外貿網站建設要多少錢,請找那個售后服務好的泌陽做網站的公司定做!
首先,還是談談圖像像素時數據獲取方面吧,.net中的圖像相關類基本上都是基于GDI+的,因此,圖像數據的獲取其實也是調用GDI+的一些函數。這個函數就是LockBits,在vb.net中彩色圖像數據的快速獲取 一文中,我們是調用了Marshal.Copy把LockBits鎖定的內存數據拷貝到數據中,然后對數組中的值進行處理。這樣做主要的原因是VB.NET不好直接訪問內存(Marshal.ReadByte之類的函數不適合用于大型的循環中)。那么,這就造成了2個不好的事情,第一:在同一時間需要2倍于圖像數據量的內存,第二:內存數據拷貝到數據,以及處理后再把數組的數據拷貝會內存中都是會減低速度的。作為一種改進,我們應該充分利用LockBits的功能。LockBits中的LockMode中有一種模式為ImageLockMode.UserInputBuffer,該模式下需要用戶先申請內存,然后在把圖像數據按照相關格式填充如這個內存中。這樣,就可以先定義個數組,然后把圖像數據填充到這個數組中,就避免了來回拷貝的耗時了,簡單示例代碼如下:
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()
這問題有點籠統,軟糖來說說把:
圖像處理由System.Drawing命名空間負責。
主要是Bitmap類和Graphics類。
Bitmap表示一個位圖,可以是BMP,JPG,PNG等文件。
裝載位圖
Dim?位圖?As?Bitmap?=?Bitmap.FromFile("C:\Image1.PNG")
Graphics表示一張畫紙,能夠進行繪制操作。
它可以被窗體、控件、位圖調用CreateGraphics()方法來創建。
然后調用Graphics.Draw開頭的一系列函數來繪制圖像和圖形,Fill開頭的填充圖形。
創建畫紙并繪制位圖
Dim?畫紙?As?Graphics?=?Me.CreateGraphics()
畫紙.DrawImage(位圖,?100,?100,?256,?256)
可以將上面三行放到Form1_Load中測試,把路徑改一下,
還可以把Me改為能在上面繪圖的控件的名稱。
更多內容請看MSDN的System.Drawing命名空間。
如滿意,請采納,謝謝。