2016-04-20 101 views
-1

Picture of a brain確定像素的位置停止改變顏色

在大腦中的給定的圖像,還有雙方離開和大腦的權利。

我需要更改右側的顏色。要訪問我使用如下代碼中的每個像素:

for (int i = 0; i < scrBitmap.Width; i++) { 
    for (int j = 0; j < scrBitmap.Height; j++) { 
    actualColor = scrBitmap.GetPixel(i, j); 
    } 
} 

我怎樣才能改變只有一個大腦的一側的像素顏色(左或右)? 我應該改變顏色的條件是什麼?

圖片可能會改變,其中一個部分(左或右)的一小部分可見。

回答

0

我相當肯定這是完全明顯的,對你來說有點沒用,但假設圖片是對稱的(不是)或對稱的,對於圖像中的每個像素進行迭代,得到邊界其中有大腦部分,即

//if image height = ih and image width = iw 

//iterate from the left 
int beginX=0; 
for(int x=0;x<iw;x++){ 
    for(int y=0;y<ih;y++){ 
     if(image.getPixelColor!=black){ 
      beginX=x; 
     } 
    } 
} 



//iterate from the right 
int endX=0; 
for(int x=iw;x<1;x--){ 
    for(int y=0;y<ih;y++){ 
     if(image.getPixelColor!=black){ 
      endX=x; 
     } 
    } 
} 

int midPointX=(endX+beginX)/2 

所以你的條件將被:

的左邊部分 - >如果x範圍內(beginX,midPointX)

的右部 - >如果x在範圍內(midPointX,endX)

+0

但是如果圖片變化只有一個部分是可見的,那麼這將不起作用 –