2016-07-11 8 views
0

で変更中にエラーが発生するこのコードでは、ピクセル(x、y)の色を変更しようとしています。私はちょうどColor.Whiteによって与えられた色を取得したい - ピクセルの色(x、y)のビットマップイメージのピクセルの色をc#

Bitmap mPlan; 
    for (int x=0; x < mPlanWidth; x++) 
      { 
       for (int y=0; y < mPlanHeight; y++) 
       { 
        if (mPlan.GetPixel(x, y) == Color.White) 
        mPlan.SetPixel(x, y, Color.White - mPlan.GetPixel(x, y)); 
       } 

      } 

をしかし、私はColor.Whiteのレベルのエラーを持っている - mPlan.GetPixel(X、 Android.Graphics.Color

に私にint型の不可能変換を告げるY)私はARGB

mPlan.SetPixel(x, y, System.Drawing.Color.FromArgb(System.Drawing.Color.White.ToArgb()- mFloorPlan.GetPixel(x, y)) ); 

を使用してintにすべての色を変換しようとしたが、によってのみ与えられているTpArgb方法組ly System.DrawingとSetPixelはAndroid.Graphicsの3番目のパラメトリックな色をとるので、このタイプの競合があります。

+0

'Color.White'はColorオブジェクトで、' ... GetPixel(x、y) 'はそうでないためです。これは、私が 'object - 5'が実際に整数に等しいと言うようなものです。 – Adam

+0

私は知っている..私はちょうどColor.Whiteによって与えられた色を取得したい - ピクセルの色(x、y) – dou

+0

私は私の答えはそれを行うと思います。それは2つの色で動作し、私は実際にBitmap.Getpixel()でそれを試していませんでした。 – Adam

答えて

0
Bitmap bc; 
Color color = new Color(); 
color.R = Color.White.R - bc.GetPixel(x, y).R; 
color.G = Color.White.G - bc.GetPixel(x, y).G; 
color.B = Color.White.B - bc.GetPixel(x, y).B; 
bc.SetPixel(x, y, color); 

新しい色のRGB値を設定して新しい色を生成します。

+0

ありがとうございますが動作しませんなぜbc.GetPixel(x、y)を使ってintを与えるのかわかりません – dou

関連する問題