/**
* 生成图片的缩略图
* @param {[type]} img 图片(img)对象或地址
* @param {[type]} width 缩略图宽
* @param {[type]} height 缩略图高
* @return {[type]} return base64 png图片字符串
*/
function thumb_image(img, width, height) {
if (typeof img !== 'object') {
var tem = new Image();
tem.src = img;
tem.setAttribute("crossOrigin",'Anonymous')
img = tem;
}
img.onload = function(e) {
var _canv = document.createElement('canvas');
_canv.width = width;
_canv.height = height;
_canv.getContext("2d").drawImage(img, 0, 0, img.width, img.height, 0, 0, width, height);
return _canv.toDataURL();
}
} yuan_image('./images/cover.png')
/**
* 把图片处理成圆形,如果不是正方形就按最小边一半为半径处理
* @param {[type]} img 图片(img)对象或地址
* @return {[type]} return base64 png图片字符串
*/
function yuan_image(img) {
if (typeof img !== 'object') {
var tem = new Image()
tem.src = img
tem.setAttribute("crossOrigin",'Anonymous')
img = tem
}
var w, h, _canv, _contex, cli
img.onload = function(e) {
console.log(e)
if (img.width > img.height) {
w = img.height
h = img.height
} else {
w = img.width
h = img.width
}
_canv = document.createElement('canvas')
_canv.width = w
_canv.height = h
_contex = _canv.getContext("2d")
cli = {
x: w / 2,
y: h / 2,
r: w / 2
}
_contex.clearRect(0, 0, w, h)
_contex.save()
_contex.beginPath()
_contex.arc(cli.x, cli.y, cli.r, 0, Math.PI * 2, false)
_contex.clip()
_contex.drawImage(img, 0, 0)
console.log(_canv.toDataURL())
return _canv.toDataURL()
}
}

canvas实现圆角图片 (处理原图是长方形或正方形)的更多相关文章

  1. Android BitmapShader 实战 实现圆形、圆角图片

    转载自:http://blog.csdn.net/lmj623565791/article/details/41967509 1.概述 记得初学那会写过一篇博客Android 完美实现图片圆角和圆形( ...

  2. Android_BitmapShader实现圆形、圆角图片

    转:http://blog.csdn.net/lmj623565791/article/details/41967509,本文出自:[张鸿洋的博客] 1.概述 记得初学那会写过一篇博客Android ...

  3. 【转】Android BitmapShader 实战 实现圆形、圆角图片

    转载自:http://blog.csdn.net/lmj623565791/article/details/41967509 1.概述 记得初学那会写过一篇博客Android 完美实现图片圆角和圆形( ...

  4. Android实现圆形圆角图片

    本文主要使用两种方法实现图形圆角图片 自定View加上使用Xfermode实现 Shader实现 自定View加上使用Xfermode实现 /** * 根据原图和变长绘制圆形图片 * * @param ...

  5. 【Android】 图片编辑:创建圆角图片

    创建圆角图片的方式大同小异,最简单的就是 9.png 美工做出来的就是.这种最省事直接设置就可以. 另外一种就是通过裁剪 这里的剪裁指的是依据原图我们自己生成一张新的bitmap,这个时候指定图片的目 ...

  6. Android Xfermode 实战 实现圆形、圆角图片

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42094215,本文出自:[张鸿洋的博客] 1.概述 其实这篇本来准备Androi ...

  7. Android 圆形/圆角图片的方法

    Android 圆形/圆角图片的方法 眼下网上有非常多圆角图片的实例,Github上也有一些成熟的项目.之前做项目,为了稳定高效都是选用Github上的项目直接用.但这样的结束也是Android开发必 ...

  8. 安卓图片载入之使用universalimageloader载入圆形圆角图片

    前言 话说这universalimageloader载入图片对搞过2年安卓程序都是用烂了再熟悉只是了.就是安卓新手也是百度就会有一大堆东西出来,今天为什么这里还要讲使用universalimagelo ...

  9. Android Xfermode 真实 实现全面、圆角图片

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/42094215.本文出自:[张鸿洋的博客] 1.概述 事实上这篇本来准备Andro ...

随机推荐

  1. JavaScript 积累

    1. 基本类型值在内存中占据固定大小的空间,因此被保存在栈空间中: 2. 引用类型的值是对象,保存在堆空间中: 3. 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本:从一个变量向另一个 ...

  2. 连接Xshell

    连xshell之前先进入[root@localhost zxj]# vim /etc/ssh/sshd_config, 将115行删除注释改为UseDNS  no, 保存重启sshd(xshell)的 ...

  3. MyBatis框架原理4:插件

    插件的定义和作用 首先引用MyBatis文档对插件(plugins)的定义: MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用.默认情况下,MyBatis 允许使用插件来拦截的方法调用 ...

  4. Python示例-TCP Port Scan

    import socket import threading # target host address host = "127.0.0.1" # thread list thre ...

  5. composer配合github发布管理代码包

    前言 今日使用composer结合github管理代码包过程,方便日后需要,特此记录 流程 1 最大同性交友网站github创建自己项目,在自己项目新增composer.json文件 2 compos ...

  6. locust 的几种写法及部分内容说明

    第一种 **********************************   from locust import  HttpLocust, TaskSet, task import  json ...

  7. Java第二周总结报告

    第二周的学习,开始正式实践进行Java的学习. 本周做了什么? 了解的Java的一些基本知识,如Java变量,数据类型和运算符等.Java变量对不同的数据类型最好采用不同的命名规则,合理的命名有利于提 ...

  8. [Codeforces 1005F]Berland and the Shortest Paths(最短路树+dfs)

    [Codeforces 1005F]Berland and the Shortest Paths(最短路树+dfs) 题面 题意:给你一个无向图,1为起点,求生成树让起点到其他个点的距离最小,距离最小 ...

  9. 初识JavaScript(二)

    初识JavaScript(二) 我从上一篇<初识JavaScript(一)>知道和认识JavaScript的词法结构,也开始慢慢接触到了JavaScript的使用方法,是必须按照JavaS ...

  10. [NodeJs系列]聊一聊BOM

    最近在看Node源码的时候,偶然间,看到如下函数: /** * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) * be ...