getPixel-Methode - wie kann ich den R-Wert von RGB bekommen?
-
20-09-2019 - |
Frage
ich habe ein Graustufenbild, und ich will die Pixel aus dem Bild scannen und das ist, was ich bekommen:
var i:int;
var j:int;
for (i = 0; i < img.contentWidth ; i++)
{
for(j = 0; j < img.contentHeight; j++){
pixeldaten.addItem({x:i,y:j,pixel:bmd.getPixel(i,j)});
}
}
aber die Tabelle sieht nicht aus wie RGB-Werte.
(R, B und G muss gleich sein)Lösung
getPixel sollte den Hex-Wert Wert des Pixels zurückkehren, könnte man dann so etwas wie
// den roten Wert bekommen
bmd.getPixel(i,j) >> 16
Andere Tipps
//for Image processing
Bitmap myBitmap = new Bitmap(CurrentBitmap);
int imgH = myBitmap.Height;
int imgW = myBitmap.Width;
ARed = new double[imgH, imgW];
AGreen = new double[imgH, imgW];
ABlue = new double[imgH, imgW];
doubles = new double[imgH, imgW];
var max = new double[imgH, imgW];
var min = new double[0, 0];
//seperating each RGB components
for (int x = 0; x < imgH; x++)
{
for (int y = 0; y < imgW; y++)
{
Color color = myBitmap.GetPixel(x, y);
// things we do with pixelColor
//ARed[x][y] = myBitmap.GetPixel >> 16;
ARed[x, y] = color.R;
ABlue[x, y] = color.B;
AGreen[x, y] = color.G;
max[x, y] = ARed[x, y];
}
}
Bitmap bmp = new Bitmap(pictureBox1.Image);
bmp.getPixel(i,j).R
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow