程式問題

小弟專題最近  想做一個可以直接點要神摸顏色的燈 下去做控制的LED陣列  想法:做出一個color box陣列   然後能接收2點陣圖的訊息(BMP 檔為2點陣)  去亮燈   在直接控制顏色燈  先假設10=紅  01=綠  00=黑  11=黃  然後color box的顏色都是有固定數值得再去做結合   可是COLOR BOX 好像沒辦法這樣使用  


希望有好心人可以幫我解答可以EMAIL我   

fyi
http://zone.ni.com/reference/en-XX/help/371361H-01/lvpict/rgb_to_color/

從貓大接棒 
不知道你要的是不是這個

程式 (用IE等瀏覽器點開後可拖曳進入程式區,通常可成功直接複製程式碼 ) / 介面
 

Code (LabVIEW 2013 32-bit 程式碼)
2015-9-7 BMP array to color box LED.vi
Necessary file (必要檔案)
purple.bmp

內容後述 
簡單解釋,我想你應該還要花些力氣,才會跟你原先想要的一樣
第零階段:根據Color by hand (Control)區域所示,LabVIEW中,24位元之RGB Color (Control),數值定義順序可能為RGB (紅綠藍)
請手動按按看他你可以選取顏色,然後再執行程式,讓他把RGB數值解開

第一階段:開檔案,Application Directory取得現行VI工作目錄,配合目標bmp檔名,Build Path,將檔名送入Read BMP File
第二階段:
此時你可以取得一個結構(Cluster),Unbundle By Name,裡面有2個數值、3個0~255的Array、還有一個上下左右邊界的結構

第三階段:
我們要的是第一個0~255的Array,可直接打開陣列,發現清一紫色的圖檔,其Array為163、73、164循環。
他很可能就是RGB (紅色與藍色成分特別多),但有時Microsoft與LabVIEW的RGB定義順序不一樣,需自行留意。

接著利用Decimate 1D Array將陣列重新編隊,除3餘0為第一隊、除3餘1為第二隊、除3餘2為第三隊。(當然,因為是系統標準BMP,在此我假設正好可以用3整除)
用Array Size觀察,

或事先直接送入for迴圈中解開,把RGB三個小陣列中indexing讀出的元素視為RGB、送入Color Box (Indicator),便可讀取出每一組RGB所記載的顏色。
(重申Microsoft與LabVIEW有時定義順序不同,可自行將三條線交叉順序驗證)

第四階段:迴圈中放置Wait (ms) (Control),讓讀取陣列的速度可供調整

第五階段:為了便於學習,我讀取了三陣列還未拆開前的Array Size,用很隨手不均勻的方式製造亂數的0~255,強制轉型成8-bit Integer
然後照著階段三的步驟=>拆三小陣列=>Indexing取出三小陣列元素=>重組顏色

就做到這裡了,其餘交給你 。請記得把purple.bmp放在同一目錄中,你可自行亂改bmp中之內容看看結果。

[QUOTE=MingYen]
從貓大接棒 
不知道你要的是不是這個

程式 (用IE等瀏覽器點開後可拖曳進入程式區,通常可成功直接複製程式碼 ) / 介面
 

Code (LabVIEW 2013 32-bit 程式碼)
2015-9-7 BMP array to color box LED.vi
Necessary file (必要檔案)
purple.bmp

內容後述 
[/QUOTE]MingYen42255.4293171296
我知道你要的應該還要再更進一步 

你需要自己把for迴圈中的Color box (Indicator)拉出迴圈
讓他自動indexing,使之成為Color box陣列

這部分就靠你自己了 Q__Q,其他的細節大概就是把握RGB紅綠藍,試試看255, 255, 0或是0, 255, 255或是128, 128, 255,這一類特徵顏色

利用各種數值調色盤找出你真正想要的簡單顏色是什麼數值組合。

[QUOTE=fjqwoigfkapkg]小弟專題最近  想做一個可以直接點要神摸顏色的燈 下去做控制的LED陣列  想法:做出一個color box陣列   然後能接收2點陣圖的訊息(BMP 檔為2點陣)  去亮燈   在直接控制顏色燈  先假設10=紅  01=綠  00=黑  11=黃  然後color box的顏色都是有固定數值得再去做結合   可是COLOR BOX 好像沒辦法這樣使用  

希望有好心人可以幫我解答可以EMAIL我   
[/QUOTE]

感謝大大們的  知識相助  對我幫助很大   感恩

補充如何製作Color box array的其中一個方法 

1.前置面板=>右鍵功能表Control=>Array=>Array, Matrix & Cluster=>Array(unknown type)
2.前置面板=>右鍵功能表Control=>Numeric=>Framed color box(control)
3.前置面板,滑鼠抓著Framed color box丟進Array,即可製造出Color box array(control)

4.在程式區可以右鍵更改使得它Change to Control、Indicator、Constant任一種。供迴圈輸出輸入使用。

5.在前置面板可以把 array的項數拉開,須注意每個Color box element預設的顏色不一定。我目前只會一手動改色,或是用迴圈配RGB to Color給定色。

6.在前置面板Array的第一項數上右鍵=>Data Operations=>Make current value default,可以將目前的數值設為每次開程式的數值。

[QUOTE=fjqwoigfkapkg]感謝大大們的  知識相助  對我幫助很大   感恩[/QUOTE]MingYen42255.4258333333