Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как объединить канвас (https://javascript.ru/forum/dom-window/57623-kak-obedinit-kanvas.html)

mervin 12.08.2015 11:18

Как объединить канвас
 
Как воспроизвести сей код в рамках одного <canvas></canvas>? :(
var canvasSec = document.getElementById('secondary-output');
    var ctxSec = canvasSec.getContext('2d');

    ctxctxSec.drawImage(imgSec2,0,0);
    ctxctxSec.globalCompositeOperation = "source-atop";
    ctxctxSec.fillStyle = rgbPrimary;
    ctxctxSec.fillRect(0,0,canvasPri.width,canvasPri.height);
   
    ctxctxSec.drawImage(imgSec,0,0);
    ctxctxSec.globalCompositeOperation = "source-atop";
    ctxctxSec.fillStyle = rgbSecondary;
    ctxctxSec.fillRect(0,0,canvasSec.width,canvasSec.height);

javaQest 12.08.2015 12:33

Цитата:

Сообщение от mervin
Как воспроизвести сей код в рамках одного

Не совсем понятно, в чем проблема. Конкретизируйте, пожалуйста. В том, что Вы перезаписываете style?

javaQest 12.08.2015 12:36

Цитата:

Сообщение от mervin
imgSec2,0,0

Картинки у Вас наложены одна на другую?

mervin 12.08.2015 13:54

да, одна на другую. есть одна картинка png коротая выполняет роль маски для цвета, есть вторая маска, третья и тд. но больше одной не получается реализовать :-?

javaQest 12.08.2015 13:57

mervin,
А почему бы не сделать слоями? Наложите один канвас на другой, на них третий и тд.

То что Вы задумали, по-моему, реализовать тривиально не удастся. У Вас там несколько перерисовок идет.

mervin 12.08.2015 13:59

пример вот http://jsfiddle.net/m1erickson/bfUPr/
в html один canvas, и маска одна. как добавить вторую? третью? даже если бы они пересекались

хочется чтобы в html Был один блок canvas а не 10 и тд

javaQest 12.08.2015 14:29

mervin,
Я, честно говоря, в работе с изображениями, да и вообще в канвас, слабоват, но суть того что я предлагаю, вот
http://jsfiddle.net/s6wkst4k/2/

mervin 12.08.2015 14:32

Да это простой выход, просто интересно есть ли выход уложиться в один элемент)

javaQest 12.08.2015 14:43

mervin,
Я думаю, что нет. Когда Вы устанавливаете стиль, он переопределяется глобально. У Вас весь холст перерисовывается.

Может быть есть что-то, какие-то другие навороченные инструменты, я хз, но в этом варианте, думаю, нет

javaQest 12.08.2015 14:51

Цитата:

Сообщение от mervin
есть ли выход уложиться в один элемент)

А собственно, зачем? Какая разница?


Часовой пояс GMT +3, время: 00:58.