Как получить доступ к пикселям изображения в проекте xamarin?

Я хочу получить доступ к цветам пикселей из изображения, но, насколько я знаю, изображение нельзя использовать таким образом. В моем коде есть событие Modify, где я вызываю метод MakeDarker, но я хочу знать, как я могу изменить там пиксели.

Я пытался преобразовать изображение в растровое изображение или в массив байтов, но ничего из этого не работает для меня. Visual Studio даже не распознает Bitmap, когда я его печатаю, несмотря на использование Xamarin.Forms.Image.

public void Modify(object sender, EventArgs args)
{
    ImageModify modify = new ImageModify();

    picture = modify.MakeDarker(picture);
}
class ImageModify
{
    public Image MakeDarker(Image image)
    {
        Image output = new Image();

        for (int i = 0; i < image.Height; i++)
        {
            for (int j = 0; j < image.Width; j++)
            {

            }
        }

        return output;
    }
}

person Kosodrzewina    schedule 07.04.2019    source источник
comment
посмотрите что-то вроде SkiaSharp или ImageEdit для обработки изображений. Все, что вы делаете, должно выполняться в базовом ImageSource, а не в самом элементе управления Image.   -  person Jason    schedule 07.04.2019


Ответы (1)


Пробовали ли вы использовать цвет struct из пространства имен System.Drawing (не знаю, можно ли использовать его в Xamarin или он специфичен для проектов на базе Windows)?

Я использовал его в своем собственном проекте C# для сбора значений RGB пикселя, и он работал хорошо.

person MenKara    schedule 07.04.2019
comment
Проблема в том, что я все равно должен использовать Bitmap. Я включил System.Drawing, но по какой-то причине не могу использовать Bitmap. - person Kosodrzewina; 07.04.2019
comment
Вы пытались использовать Класс Bitmap вместо Image class для загрузки ваших изображений? - person MenKara; 07.04.2019