這一次的作業是在Image上畫出直方圖來表示一張圖片的RGB值。
以下是我的作業結果
(a)R值的直方圖
(b)G值的直方圖
(c)B值的直方圖
(d)R,G,B值的直方圖
這直方圖主要是用到move to跟line to這兩個函式去在Image上面畫出一條條的直線。
所以重點在move to(int x,int y)跟line to(int x, int y)裡面的X和Y值的參數。
這裡面的參數必須得要去抓取圖片裡面的RGB值,然後做一些比例的調整。
在使用BCB內建的畫筆(Image1->Canvas->Pen->Color=XXX;)去畫出線條。
但是拖這麼久沒交的原因,主要不在於這直方圖的製作。
是因為之前老師有提到page control,所以我就想嘗試著把之前學到的彙整成一個project
在這整合的其中,就發生了一些BUG。
像是浮水印
當兩張圖片不一樣大小的時候,Image2長寬>Image1長寬的時候,會有一些錯誤
所以重點在move to(int x,int y)跟line to(int x, int y)裡面的X和Y值的參數。
這裡面的參數必須得要去抓取圖片裡面的RGB值,然後做一些比例的調整。
在使用BCB內建的畫筆(Image1->Canvas->Pen->Color=XXX;)去畫出線條。
但是拖這麼久沒交的原因,主要不在於這直方圖的製作。
是因為之前老師有提到page control,所以我就想嘗試著把之前學到的彙整成一個project
(e)整合後的程式-浮水印
在這整合的其中,就發生了一些BUG。
像是浮水印
當兩張圖片不一樣大小的時候,Image2長寬>Image1長寬的時候,會有一些錯誤
(f)浮水印問題
這問題就只出現在上述的狀況下。
我有想過解決的方法,好像有一種方法可以依照圖片邊緣的RGB值向外擴大。
如果可以將兩張圖片經過擴大後,變成大小都一樣的話,那可能問題就解決了。
不過,要如何去寫出這樣的程式,我就一直都沒寫出來,所以就一直拖延到現在了。
我有想過解決的方法,好像有一種方法可以依照圖片邊緣的RGB值向外擴大。
如果可以將兩張圖片經過擴大後,變成大小都一樣的話,那可能問題就解決了。
不過,要如何去寫出這樣的程式,我就一直都沒寫出來,所以就一直拖延到現在了。
沒有留言:
張貼留言