Растровый холст растровых изображений сверху, но изменения на нижнем холсте показывают через - PullRequest
1 голос
/ 26 июня 2011

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

Итак, в основном, у меня есть:

    Bitmap newBitmap = Bitmap.createBitmap(img.getWidth(), img.getHeight(),
            Bitmap.Config.RGB_565);
    Canvas newCanvas = new Canvas();
    newCanvas.setBitmap(newBitmap);
    if (img != null) {
        newCanvas.drawBitmap(img, 0, 0, null);
    }
    mBitmap = newBitmap;
    imageCanvas = newCanvas;

    mCanvas = new Canvas();
    drawBitmap = Bitmap.createBitmap(img.getWidth(), img.getHeight(),
            Bitmap.Config.RGB_565);
    mCanvas.setBitmap(drawBitmap);

где mCanvas - это то, на чем будет рисовать пользователь, а imageCanvas - это место, где рисуется растровое изображение.

Изображение черно-белое, и я хочу, чтобы черные линии всегда просвечивали,так что я хочу это как верхушку стека.

Кажется, мне нужно убедиться, что белые части изображения должны быть прозрачными, что мне может понадобиться, когда я загружаю изображение, так как ожидать, что оно будет таким, слишком много, чтобы ожидать.

Итак, как мне сложить эти два холста в одном и том же месте и получить, где drawLine отображается на нижнем холсте?

Я смотрел на этот вопрос, но я неНе думаю, что это похоже:

многослойные изображения плюс холст

1 Ответ

0 голосов
/ 15 июля 2011

Решение оказалось проще, чем я ожидал.

У меня есть пункт меню, позволяющий пользователям рисовать прозрачное изображение, чтобы были видны только черные линии для изображения, остальная часть изображения была прозрачной.

Сделав это, я мог бы сначала нарисовать растровое изображение, на котором рисует пользователь, а затем нарисовать изображение в основном прозрачными цветами.

Это делает черные линии всегда видимыми.

Мне может понадобиться использовать режим PorterDuff xfer, чтобы он выглядел лучше, но это соответствует моим начальным требованиям.

Я был удивлен тем, что на фоне не получилось нарисованное изображение.

Я делаю все это в специальном представлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...