2009年12月17日 星期四

Hw3

在這一次作業,我學會了如何去在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直方圖

以下是實作圖片:

沒有留言:

張貼留言