Я пытаюсь получить цвет пикселя определенной позиции (событие Tap).WriteAbleBitmap.Pixels [] возвращает неправильный цвет (смещение?)
У меня есть следующий код:
private void iiiimage_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
Point point = e.GetPosition(iiiimage);
ApplicationTitle.Text = point.ToString();
var wb = new WriteableBitmap(iiiimage, null);
int arrayPos = (int)point.X * (int)point.Y;
PageTitle.Text = arrayPos.ToString();
int colorAsInt = wb.Pixels[arrayPos];
Color c = Color.FromArgb((byte)((colorAsInt >> 0x18) & 0xff),
(byte)((colorAsInt >> 0x10) & 0xff),
(byte)((colorAsInt >> 8) & 0xff),
(byte)(colorAsInt & 0xff));
r3ct.Fill = new SolidColorBrush(c);
}
скриншоте показать то, что не так. Положение белой ошибки (подсказка) синее, но код возвращает пиксель, который находится где-то в верхней части изображения (красный).
Что я делаю неправильно?
С наилучшими пожеланиями, Niels
Вы уверены, что ваш метод для извлечения цвета из целого числа является правильным? –