封装方法:

/*** @矩形canvas库* @authors Shimily (275766400@qq.com)* @date    2016-12-28 10:30:51* @version $Id$*/function Rect( options){this._init(options);   //执行方法
}
Rect.prototype={   _init:function(options){this.x=options.x || 0;   //参数设置,如果不传参数,则设置默认值this.y=options.y || 0;this.opacity=options.opacity===0 ? 0: options.opacity || 1;this.scaleX=options.scaleX ||1;this.scaleY=options.scaleY ||1;this.strokeStyle=options.strokeStyle || 'red';this.fillStyle=options.fillStyle||'red';},render:function(ctx){   //执行绘制ctx.save();   //先保存状态
        ctx.beginPath();ctx.translate(this.x, this.y);ctx.rotate(this.rotation * Math.PI /180);ctx.globalAlpha=this.optacity;ctx.scale(this.scaleX, this.scaleY);//ctx.rect(this.x, this.y, this.w, this.h); //绘制矩形ctx.rect(0, 0, this.w, this.h); //绘制矩形   设置旋转为矩形的左顶点,要将画布进行位移ctx.translate(this.x, this.y);
ctx.fillStyle=this.fillStyle;ctx.fill();  //填充颜色
ctx.strokeStyle=this.strokeStyle;ctx.stroke();ctx.restore();   //释放状态
    }
}

调用方法:

var rect= new Rect({   //设置属性x:300,y:200,w:100,h:120,rotation:30,opacity:0.3,scaleX:1.5,scaleY:1.5,fillStyle:'blue',strokeStyle:'yellow'});rect.render(ctx);  //执行

转载于:https://www.cnblogs.com/shimily/p/6240016.html

js面向对象的封装方法,【案例】相关推荐

  1. js面向对象思想封装拖拽功能,兼容pc和移动端

    我们在开发项目过程中,很可能会碰到页面上某块需要可以拖拽移动的功能需求,网上已经有不少前辈分享了相关功能的案例,插件或者代码,但是考虑到项目功能需求,我们可能仅需要实现拖拽移动功能就可以,不需要其他功 ...

  2. 利用JS面向对象+模块化封装集AJAX请求、基本数据校验、URL参数截取等功能于一身的通用工具模块

    以下为封装好的工具类代码,使用方法将在后边介绍. /*** Created by xiaoqiang on 2017/11/09.*/ 'use strict'; import $ from 'jqu ...

  3. js面向对象之封装,继承,多态,类的详解

    封装 在面向对象的操作中,我们有完全不同的一些写法. 想要封装我们的对象,就要用到构造函数.我们需要创建构造函数,构造函数和函数一致,都是通过function创建的 首字母大写(规范,为了和普通函数进 ...

  4. Java 面向对象 之 封装方法

    转载于 : http://www.verejava.com/?id=16992728331734 /**测试类的封装特性类的封装特性就是, 将类的属性私有化private 然后提供公有的方法去访问 * ...

  5. JS面向对象之封装自定义构造函数

    <!DOCTYPE html> <html><head><meta charset="utf-8"><title>< ...

  6. 前端vue/js刷新浏览器页面方法-案例

    强制刷新当前页面 reload -- 强迫浏览器刷新当前页面 location.reload([bForceGet]) //重新加载当前文档 bForceGet, 可选参数, 默认为 false,从客 ...

  7. Js 面向对象开发-基础

    一.面向对象开发 面向对象编程 -- Object Oriented Programming,简称 OOP ,是一种编程开发思想. 它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与 ...

  8. JS面向对象一:MVC的面向对象封装

    JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程. 面向对象的一 ...

  9. js:面向对象编程,带你认识封装、继承和多态

    本文首发于我的个人网站:http://cherryblog.site 周末的时候深入的了解了下javascript的面向对象编程思想,收获颇丰,感觉对面向对象编程有了那么一丢丢的了解了~很开森 什么是 ...

最新文章

  1. PKUWC 2018 滚粗记
  2. servlet监听完成统计在线人数,显示在线人员列表(附源码)
  3. 【转】用Fiddler做抓包分析详解
  4. centos7 修改默认yum源为国内的阿里云
  5. 解决 Plugin with id 'com.github.dcendents.android-maven' not found.
  6. Maven生命周期和插件的那些事(2021版)
  7. HDFView 3.1.2 在WIN10系统安装后打开出现黑框闪退的解决方法
  8. Python分析热门话题“不生孩子的人后来都怎么了”,看看丁克家庭最后都怎么样了...
  9. Windows 7如何限制运行特定的应用程序(转载)
  10. 电导池行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  11. Oracle 10g OCP 官方培训
  12. Zabbix中文使用手册
  13. ThinkPad T470P拆机清灰教程
  14. 红帽Linux7考题,RHCSA题库-RedHat-7.pdf
  15. 报错解决:Failed to load config “react-app“ to extend from.
  16. Enzo Life Sciences/艾美捷丨线粒体/胞浆分离试剂盒
  17. M1 Pro 折腾一年的心得:一堆很“哇塞”的技巧和 App
  18. 每天脑子里莫名其妙冒出来的话(常见于早上起床之后)持续记录,这也是日记的一种
  19. sql中interval用法总结
  20. struct+Matlab向上向下取整+单位圆向量+matlab求导

热门文章

  1. 无密码身份验证:安全、简单且部署快速
  2. Java算法--串的简单处理
  3. c语言结构体使用方法
  4. 取消任务栏中又出现了红色的盾牌
  5. SDMemoryCache中的NSMapTable
  6. 判断一个点是否在多边形区域内--C算法
  7. Django_ORM数据表查询总结
  8. CODE FESTIVAL 2017 qual B
  9. Android 判断当前屏幕是横屏还是竖屏
  10. [Angularjs]ng-repeat中使用ng-model遇到的问题