UNPKG

angular-canvas-painter

Version:

Angular.js directive to paint on a canvas on desktop or touch devices

92 lines (85 loc) 3.07 kB
<!doctype html> <html class="no-js" ng-app="pw.canvas-painter"> <head> <meta charset="utf-8"> <title>AngularJS CanvasPainter</title> <meta name="viewport" content="width=device-width, height=device-height"> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-45381222-3', 'auto'); ga('send', 'pageview'); </script> <style> body { background-color: #efeeee; } .container { width: 400px; margin: 100px auto 0 auto; } .pwCanvasPaint canvas:first-child { box-shadow: 2px 2px 8px rgba(0,0,0,0.1), -1px -1px 4px rgba(0,0,0,0.1); -webkit-box-shadow: 2px 2px 8px rgba(0,0,0,0.1), -1px -1px 4px rgba(0,0,0,0.1); } .pwColorSelector { list-style: none; } .pwColor { display: inline-block; border-radius: 50%; width: 30px; height: 30px; margin-right: 5px; border: 2px solid transparent; } .pwColor.active { transform: scale(1.1); -webkit-transform: scale(1.1); box-shadow: 2px 3px 2px rgba(0,0,0,0.2); -webkit-box-shadow: 2px 3px 2px rgba(0,0,0,0.2); } .lineWidthSelector { width: 100%; } .undo { margin-top: 20px; } .undo > button { background-color: orange; color: white; border: none; padding: 10px; border-radius: 4px; } .undo > button[disabled] { background-color: #aaa; } </style> </head> <body> <a href="https://github.com/pwambach/angular-canvas-painter">View code</a> <div class="container" ng-controller="MainController as ctrl"> <div pw-canvas version="ctrl.version" options="{undo: true, width: 400, height: 300, color: selectedColor, lineWidth: selectedLineWidth}"></div> <div pw-color-selector="['#000', '#9CB199', '#CF3759', '#485247', '#E77547', '#D38E47', '#0A6A74', '#153974']" color="selectedColor"></div> <input type="range" min="1" max="50" ng-model="selectedLineWidth" class="lineWidthSelector">{{selectedLineWidth}} <div class="undo"> <button ng-click="ctrl.undo()" ng-disabled="ctrl.version < 1">Undo (Version {{ctrl.version}})</button> </div> </div> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script> <script type="text/javascript" src="dist/angular-canvas-painter.min.js"></script> <script type="text/javascript"> angular.module('pw.canvas-painter').controller('MainController', function($scope){ this.undo = function(){ this.version--; }; }); </script> </body> </html>