Guest User

Untitled

a guest
Feb 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. function startCropRect(){
  2. canvas.remove(el);
  3. if(canvas.getActiveObject()) {
  4. object=canvas.getActiveObject();
  5. if (lastActive && lastActive !== object) {
  6. lastActive.clipTo = null;
  7. }
  8. el = new fabric.Rect({
  9. fill: 'transparent',
  10. originX: 'left',
  11. originY: 'top',
  12. stroke: '#ccc',
  13. strokeDashArray: [2, 2],
  14. opacity: 1,
  15. width: 1,
  16. height: 1,
  17. borderColor: '#36fd00',
  18. cornerColor: 'green',
  19. hasRotatingPoint:false,
  20. objectCaching: false
  21. });
  22. el.left=canvas.getActiveObject().left;
  23. el.top=canvas.getActiveObject().top;
  24. el.width=canvas.getActiveObject()
  25. .width*canvas.getActiveObject().scaleX;
  26. el.height=canvas.getActiveObject()
  27. .height*canvas.getActiveObject().scaleY;
  28. canvas.add(el);
  29. canvas.setActiveObject(el);
  30. } else {
  31. alert("Please select an object or layer");
  32. }
  33. }
  34. function endCropRect(){
  35. var left = el.left - object.left;
  36. var top = el.top - object.top;
  37. var width = el.width;
  38. var height = el.height;
  39. object.clipTo = function (ctx) {
  40. ctx.rect(-(width/2)+left, -(height/2)+top, parseInt(width*el.scaleX), parseInt(height*el.scaleY));
  41. }
  42. canvas.remove(canvas.getActiveObject(el));
  43. lastActive = object;
  44. canvas.renderAll();
  45. left = 0;
  46. top = 0;
  47. }
  48. function startCropEl(){
  49. canvas.remove(el);
  50. if(canvas.getActiveObject()) {
  51. object=canvas.getActiveObject();
  52. el = new fabric.Ellipse({
  53. fill: 'transparent',
  54. originX: 'left',
  55. originY: 'top',
  56. stroke: 'yellow',
  57. strokeDashArray: [5, 4],
  58. rx: object.width/3,
  59. ry: object.width/3,
  60. opacity: 1,
  61. borderColor: '#36fd00',
  62. cornerColor: 'green',
  63. hasRotatingPoint:false,
  64. objectCaching: false
  65. });
  66. el.left=canvas.getActiveObject().left;
  67. el.top=canvas.getActiveObject().top;
  68. el.width=canvas.getActiveObject()
  69. .width*canvas.getActiveObject().scaleX;
  70. el.height=canvas.getActiveObject()
  71. .height*canvas.getActiveObject().scaleY;
  72. canvas.add(el);
  73. canvas.setActiveObject(el);
  74. } else {
  75. alert("Please select an object or layer");
  76. }
  77. }
  78. function endCropEl(){
  79. var left = el.left - object.left;
  80. var top = el.top - object.top;
  81. var width = el.rx;
  82. var height = el.ry;
  83. object.clipTo = function (ctx) {
  84. if ((parseInt(width*el.scaleX) === width ||
  85. parseInt(height*el.scaleY) === width) &&
  86. (top === 0 && left === 0)) {
  87. ctx.ellipse(left, top, parseInt(width*el.scaleX),
  88. parseInt(height*el.scaleY), 45 * Math.PI/180, 0,
  89. 2 * Math.PI);
  90. }
  91. else {
  92. ctx.ellipse(-(width/2)+left, -(height/2)+top,
  93. parseInt(width*el.scaleX),
  94. parseInt(height*el.scaleY),
  95. 45 * Math.PI/180, 0, 2 * Math.PI);
  96. }
  97. }
  98. canvas.remove(canvas.getActiveObject(el));
  99. lastActive = object;
  100. canvas.renderAll();
  101. left = 0;
  102. top = 0;
  103. }
Add Comment
Please, Sign In to add comment