最近在做关于社交项目时,用到了二维码中间带图片logo的功能,但是要求图片为圆形,于是找到了java剪裁图片为圆形的工具类,并同时在圆形外围带有白边,不多说,直接上代码: package com.im.app.api.util...graphics.dispose(); OutputStream os = new FileOutputStream("C:\\Users\\EDZ\\Desktop\\剪裁图片
本文介绍 Fabric.js 的圆形笔刷功能。 圆形笔刷是作用在 “自由绘制” 的画笔之上的。从名字就可以看出,这个笔刷会用一个个圆形来填充绘制的路径。...看图会更直观 Fabric.js 会使用不同频率、大小、颜色深浅来绘制出上图效果。 本文使用 Fabric.js 5.2.1 常用配置 要做出上图的效果,首先需要将画布设置成 绘画模式 。...-- 引入 Fabric.js --> ...开启圆形笔刷 将笔刷设置成圆形同样有2种写法。...canvas.freeDrawingBrush.width = 6 // 笔刷宽度,默认10 复制代码 如果你使用了 写法2 ,设置的代码如下所示 // 省略初始化代码 // 创建圆形笔刷 let
本文简介 这次要讲的是 自由绘制圆形 。 在 《Fabric.js 自由绘制矩形》 里讲到的思路,放在圆形里不太适用。 这次要做到的效果如下图所示。...思路 Fabric.js 默认的框选操作是矩形,如果需要做到上图的效果,需要做以下3步: 点击画布时 canvas.on('mouse:down', fn),创建一个圆形。...如果你想知道在 Vue3 环境下如何实现 Fabric.js 自由绘制矩形,可以在 代码仓库 里查找。 ...canvasMouseDown(e) { downPoint = e.absolutePointer if (currentType === 'circle') { // 使用 Fabric.js
是否在剪裁框上显示黑色的模态窗口。...0-1之间的数值,定义自动剪裁框的大小。highlight:类型:Boolean,默认值true。是否在剪裁框上显示白色的模态窗口。 guides:类型:Boolean,默认值true。...: cropper.js中没有提供圆形的方法,如果想要圆形的你要修改 1. cropper.js的。...,,具体想灵活的自由切换圆形跟矩形,就要进一步封装。...我参考的文章咻咻咻 1.jQuery简单且功能强大的图片剪裁插件 2.英文copper api 当找不到方法时,可以看这里,不要怕英文版的,实在不行你可以一个一个试过去看看效果哈哈。
本着补充《Material Design 一些相关中文资料/资源收集汇总》一文的目的,介绍一款类Google Material Design 的圆形波浪(涟漪)点击特效插件Waves。...Google Material Design 中有一个特效,点击某个色块区域会有圆形波浪(涟漪)渐现放大的效果(当然,对应应用端则为触摸事件)。...Waves 就是这么一款在网页上实现该特效的javascript 插件。 ? ?...Chrome, Firefox, Opera and Safari) 与 IE10+ Waves 使用方法 Waves是很容易使用的,下载文件后,解压将waves.min.css 与 waves.min.js...文件引用到你的项目中,当激活插件后即可使用!
前言 前段时间看抖音,有人用时间轮盘作为动态的桌面壁纸,感觉很好玩,于是突发奇想,可以用JS来实现这个功能。 来来来,先看看成果 ?...有了这些基础知识,我们就可以正式开始用代码实现元素圆形布局了。 JS如何实现元素圆形布局了??? 圆心角∠BOM是多少度?上面的图形,就是一个圆平均分成了8分,所以每份角度是: 360°/8。...这个差距恰好是每个元素宽高的一半,所以我们进一步处理,同时,对js做一下简单的封装,供后续使用 ?...有了圆形布局,一切就很简单了。下面我们吧日期填充到元素上面即可,同时注意每个圆的半径,不然其重合。...下面用到了moment.js,没有了解过的,可以先了解一波《moment.js日期时间管理的常用方法详细教程》 年份轮盘 先收集今年后10年的年份数据,并把数字转换成大写。
;我为了方便都写到一个html中了;请把这个script标签中的内容单独写在一个js文件里 //整个插件写在一个立即执行函数里;就是function(){}();函数自执行;保证里面的变量不会与外界互相影响...号(叹号)或者;(分号)这不是写错了,为了防止那个二货写的js结束没有分号;而可能发生报错 /* ;function(win,doc,$,undefined){ }(window...比如你要点击按钮 添加input的值到 div里 var addHtml = function(demo,btn){//插件名,调用的时候直接new一下插件名就行了并传参数或者传对象(一般这个函数名手写字母大写比较好...new addHtml("demo-2","add-2"); //这里是实例2调用插件的代码 //是不是明白为什么要写插件了;要封装;两个相同组件即使有相同的class名在dom...--这里是最简单的插件写法;当然还有传对象参数的插件等等。。。。-->
分享一个js的拖拽框选插件 官网:https://dragselect.com/ 源码:https://github.com/ThibaultJanBeyer/DragSelect.git 使用: pnpm
1.Chart.js 官网地址:http://chartjs.cn/ 2.优秀的bootstrap模板推荐 官网地址:http://bootswatch.com 3.wow+animate+js插件库
html,js,css轮播插件 2016-9-9 今天帮一人写了个简单的轮播,工作不紧张,就顺便传上来分享给大家吧。源码,带部分注释。。。 //html Title $(function(){ Carousel.init($(".carouselBody")); });... //js ;(function($){ var Carousel = function(poster){ this.poster
之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来。...本插件可以自定义的功能: 1....自己实现的简单小插件,把分页部分的css样式写在了插件paging.js中,以动态创建style标签的方式,加入到页面中。...1、代码部分: 1.1、插件 - paging.js 分页的css样式写在插件中,动态创建style标签,加载到页面中。在该js中有一个Paging构造函数。...DOCTYPE html> js版分页插件 <style
摘要: 各位Fundebug老用户,请尽快更换JS插件域名!!!将og6593g2z.qnssl.com替换为js.fundebug.cn。...请尽快更换JS插件域名 为了保证服务质量,我们果断更换了CDN厂商,绑定了js.fundebug.cn域名,并且申请了新的HTTPS证书。...各位Fundebug老用户,如果您是采用script接入插件的,请尽快更换JS插件域名!!!...将og6593g2z.qnssl.com替换为js.fundebug.cn: <script src="https://<em>js</em>.fundebug.cn/fundebug.0.3.3.min.<em>js</em>" apikey...但是,新版本的插件都将使用js.fundebug.cn域名。 由于更换插件域名所造成的困扰,Fundebug团队深表歉意!
畅言:http://changyan.kuaizhan.com/ PC端 通用代码接入 畅言支持各种类型的Web网站接入,网站只需要粘贴、复制JS代码到网页的任意位置,或者复制代码到模板中,畅言评论框将在所有网页自动出现
1)概念: 懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。 预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。...class="progress">0% var imgs = ['http:...'/' + len; $('img').attr('src', imgs[index]); }); 插件...); imgObj.src = src;//缓存图片 }); }; //由于不用具体的对象去调用,因此用$.extend(object)挂载插件
分享一个非常简单的图片预览插件viewer 首先引入js和css viewer.js:下载链接 jquery1.11.3.js:下载链接 jquery-viewer.min.js:下载链接 viewer.css...viewer.css" rel="external nofollow" rel="external nofollow"> </...//缩放等级(1倍) $image.viewer('zoomTo', 1); } }); // 初始化后获取Viewer.js
原文地址:https://github.com/lianxiaozhuang/blog 转载请注明出处 js 写插件教程深入 1.介绍具有安全作用域的构造函数 function Fn(name...Fn.prototype = { constructor:Fn, getF:function(){ console.log(1); } } 2.默认参数 //我们用过一些插件...这要从内存说起;写到原型上,每执行一个实例,getC不需要开辟新的内存 //故,可以把一些纯计算的方法,写原型上,如果方法和实例本身有关,应该写道this中 4.方法名防止冲突处理 //如果在引入你的插件之前...typeof define === 'function') define(function() { return MyPlugin; }); //注册全局变量,兼容直接使用script标签引入该插件
jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地、无侵入地升级HTML表单以支持Ajax。...另外,插件还包括其他的一些方法: formToArray()、formSerialize()、fieldSerialize()、fieldValue()、clearForm()、clearFields(...show(); 8 }); 9 return false; //阻止表单默认提交 10 }); 通过Form插件的两个核心方法,都可以在不修改表单的HTML代码结构的情况下...11 } 12 13 function showRequest(formData, jqForm, options){ 14 //formData: 数组对象,提交表单时,Form插件会以...; 15 return false; 16 } 17 18 //方式三:利用fieldValue()方法,fieldValue 是表单插件的一个方法
SweetAlert是一款神奇的javascript弹出消息警告框插件。...来通过一张gif图片看看SweetAlert的效果:图片使用方法要使用该插件,首先要在html的header中引入以下文件:</script
本文作者:IMWeb 林鑫 原文出处:IMWeb社区 未经同意,禁止转载 前言 随着 Vue.js 越来越火,Vue.js 的相关插件也在不断的被贡献出来,数不胜数。...所以接下来会通过一个简单的 vue-toast 插件,来了解掌握插件的开发和使用。 认识插件 想要开发插件,先要认识一个插件是什么样子的。 Vue.js 的插件应当有一个公开方法 install 。...先新建个js文件来编写插件:toast.js // toast.js var Toast = {}; Toast.install = function (Vue, options) { Vue.prototype...$msg = 'Hello World'; } module.exports = Toast; 在 main.js 中,需要导入 toast.js 并且通过全局方法 Vue.use() 来使用插件: /.../toast.js'; Vue.use(Toast); 然后,我们在组件中来获取该插件定义的 $msg 属性。
前言 随着 Vue.js 越来越火,Vue.js 的相关插件也在不断的被贡献出来,数不胜数。比如官方推荐的 vue-router、vuex 等,都是非常优秀的插件。...所以接下来会通过一个简单的 vue-toast 插件,来了解掌握插件的开发和使用。 认识插件 想要开发插件,先要认识一个插件是什么样子的。 Vue.js 的插件应当有一个公开方法 install 。...先新建个js文件来编写插件:toast.js // toast.js var Toast = {}; Toast.install = function (Vue, options) { Vue.prototype...$msg = 'Hello World'; } module.exports = Toast; 在 main.js 中,需要导入 toast.js 并且通过全局方法 Vue.use() 来使用插件: /.../toast.js'; Vue.use(Toast); 然后,我们在组件中来获取该插件定义的 $msg 属性。
领取专属 10元无门槛券
手把手带您无忧上云