- 註冊時間
- 2012-3-16
- 最後登錄
- 2024-10-30
- 主題
- 查看
- 積分
- 173
- 閱讀權限
- 40
- 文章
- 223
- 相冊
- 0
- 日誌
- 0
狀態︰
離線
|
MATLAB 超強功能!數學演算軟體 2D 3D 畫圖,自動控制 通訊 建模模擬,各式工程,舉凡財經研究,
DSP 開發,都需要 MATLAB,學術上用途很廣,現在展示如何設計 跑馬燈 。- function dotmatrix
- % 跑馬燈
- % 圖形窗口,座標軸準備
- hfig=figure('position',[300 355 477 325],'color','k','name','dotmatrix','menubar','none'); % figure背景顏色
- axis off ;axis equal
- [X Y]=meshgrid(linspace(1,16,128));
- h=zeros(size(X)); % 存放所有「點」的 token
- str='熱烈歡迎 您 大駕光臨 SOGO 論壇 電子電機暨資訊工程館!'; %%%%【將此處修改成你要顯示的文字】
- DATA=[];
- for i=1:length(str) % 調用字模提取函數文件,生成點陣數據
- temp=getwordmatrix(str(i));
- DATA=[DATA flipud(temp)];
- end
- DATA=[zeros(16,60) DATA zeros(16,60)]; %% 微調顯示效果,讓文字從右出現
- for i=1:16 % 創建點陣
- for j=1:64
- h(i,j)=line(X(i,j),Y(i,j),'marker','s','markersize',3,'markerfacecolor','none');
- set(h(i,j),'buttondownfcn','buttondown','markeredgecolor','none');
- end
- end
-
- % while ishandle(hfig) % 循環改變點陣
- % Z=DATA(:,1:64);
- % for i=1:16
- % for j=1:64
- % if Z(i,j)==1
- % set(h(i,j),'markerfacecolor','g');
- % else
- % set(h(i,j),'markerfacecolor','none');
- % end
- % end
- % end
- % pause(1/24);
- % DATA=DATA(:,[2:end 1]);
- % end
- %% 循環顯示
- numFrames=0;
- while numFrames<(size(DATA,2)-64)/2
- % while ishandle(hfig) % 循環改變點陣
- Z=DATA(:,1:64);
- for i=1:16
- for j=1:64
- if Z(i,j)==1
- set(h(i,j),'markerfacecolor','g'); %%%% 更改文字顏色。'g'為綠色
- else
- set(h(i,j),'markerfacecolor','none');
- end
- end
- end
- pause(.02);
- DATA=DATA(:,[3:end 1:2]);
- numFrames=numFrames+1;
- frames(numFrames)=getframe;
- end
- %% 寫文件
- animated(1,1,1,numFrames) = 0;
- for k=1:numFrames
- if k == 1
- [ animated cmap] = rgb2ind(frames(k).cdata, 256, 'nodither');
- else
- animated(:,:,1,k) =rgb2ind(frames(k).cdata, cmap, 'nodither');
- end
- end
- filename = 'welcome.gif';
- imwrite(animated, cmap, filename, 'DelayTime', .2, 'LoopCount', inf);
- web(filename)
- end
- %% 下面這個回調函數可以無視掉~~
- function buttondown % 按下回調函數
- set(gcbo,'markerfacecolor',rand(1,3));
- end
複製代碼
|
-
總評分: 威望 + 2
查看全部評分
|