raster/svg intersections 3 color no alpha

3 images

by Nick Hulea

HTML

<script src="http://cdn.eyahuska.com/paper.js"></script>
<canvas resize="true" id="canvas-1"></canvas>
<script type="text/paperscript" canvas="canvas-1">
    function contains(a, obj) {
        var i = a.length;
        while (i--) {
            if (a[i] === obj) {
                return true;
            }
        }
        return false;
    }

    var hitOptions = {
        segments: true,
        stroke: true,
        fill: true,
        raster: true,
        tolerance: 50
    };

    var g, l, r, i, v, n, lgroup;
    var intersections = 0;
    var rArray = [];
    var dArray = [];
    var iArray = [];
    var i2Array = [];

    var rastera = new Raster({
        source: 'http://cdn.eyahuska.com/one.jpg',
        position: view.center,
        size: view.bounds,
    //opacity: 0.5

    });

    var rasterb = new Raster({
        source: 'http://cdn.eyahuska.com/two.jpg',
        position: view.center,
        size: view.bounds

    });

    rastera.on('load', function() {
        loaded = true;
        onResize();
    });

    rasterb.on('load', function() {
        loaded = true;
        onResize();
    });

    l = project.importSVG(document.getElementById('logo'));




    var group = new Group();
    group.addChild(rastera);
    group.addChild(rasterb);
    group.clipped = true;

    function onMouseDown(event) {

        r = new Raster();

        if (intersections == 0) {
            r.source = 'http://cdn.eyahuska.com/two.jpg';
            //console.log('blue');
        }

        r.position = view.bounds;
        rArray.push(r);
        r.on('load', function() {
            loaded = true;
            onResize();
        });
        lgroup = l.children.triangle;
        n = lgroup.clone()
        n.transformContent = true;
        //console.log(dArray);
        g = new Group([n, r]);
        g.clipped = true;
        dArray.push(n);
        n.position = event.point;

        //find the intersects start
        dArray.forEach(function(dArrays) {
        ...

CSS

html {
    overflow:hidden;
}
body {
    margin:0;
}