Canvas doesn't provide PixelReader and it cannot be represented as a source of drawImage() operation.
It looks like the only approach is to use snapshot method which doesn't seem to be optimized for this kind of operation and doesn't take executed Canvas command history into account.
It looks like the only approach is to use snapshot method which doesn't seem to be optimized for this kind of operation and doesn't take executed Canvas command history into account.