Я создаю программу, которая может распечатать координаты x и y из определенного пикселя. Есть такая функция, как GetPixel, но она будет получать коды RGB по заданной координате. Я хочу как раз наоборот, поэтому у меня уже есть коды RGB, и теперь я устанавливаю порог с помощью своего изображения, чтобы узнать, содержит ли он цветной пиксель, который я хотел или нет.
Это мой код:
Итак, сначала я загружу изображение:
public BitmapImage bitmap;
public void hochladen_Click(object sender, EventArgs e)
{
// Create OpenFileDialog
Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
// Set filter for file extension and default file extension
dlg.DefaultExt = ".bmp";
dlg.Filter = "BMP Files (*.bmp)|*.bmp";
// Get the selected file name and display in a TextBox
if (dlg.ShowDialog() == true)
{
// Open document
string filename = dlg.FileName;
bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.UriSource = new Uri(filename);
bitmap.EndInit();
image.Source = bitmap;
}
}
Затем, когда я нажимаю кнопку в своем приложении, оно должно установить порог из моего изображения, и я собираюсь обнаружить красную точку (R = 255, G = B = 0)
public Color c;
private void detektieren_Click(object sender, RoutedEventArgs e)
{
double x = bitmap.Width;
double y = bitmap.Height;
bl.Content = x + "x" + y;
Итак, с этого момента найти координату не составит труда:
for (int i = 0; i < x; i++)
{
for (int j = 0; i < j; j++)
{
if (c.R == 255 && c.G == 0 && c.B == 0)
{
//
}
}
}
}
У кого-нибудь есть идея? Заранее спасибо.