在這一次作業,我學會了如何去在Image上去畫出線條
Image1->Canvas->Pen->Color=clBlue;
這個程式碼可以在Image1上畫出藍色的線條,Color=clRed,Color=clGreed分別可以畫出紅色與綠色。 這再畫RGB直方圖的時候就會用到。
接著要用到的是 MoveTo() 和 LineTo()的用法。
MoveTo()是移動到畫線的起點位置
LineTo() 指的是畫線的終點位置
一開始我們先宣告
RGBhistogram[3][256]的二維陣列
主要來放RGB還有0~255有效值
之後再用ScanLine去抓取每行的起始位置,再利用ScanLine的特性去抓取bgr!
利用兩層for迴圈,裡頭程式碼可以寫
b=ptr[index];
g=ptr[index+1];
r=ptr[index+2];
RGBhistogram[0][b]++;
RGBhistogram[1][g]++;
RGBhistogram[2][r]++;
index+=3;
之後畫出值方圖再利用for迴圈 裡頭設 (int i = 0; i < 256; i++) 畫直方圖的範圍0~255
接著再利用 MoveTo()與LineTo()畫出 RGB直方圖
以下是實作圖片:
沒有留言:
張貼留言