/**
* 生成图片的缩略图
* @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. Android 调用相机、相册功能

    清单文件中增加对应权限,动态申请权限(此部分请参考Android 动态申请权限,在此不作为重点描述) private static final int REQUEST_CODE_ALBUM = 100 ...

  2. 4.1 primitive and reference values

    ECMAScript variables may contains two different types of data: primitive values and reference values ...

  3. C++统计程序运行时间代码片段

    因为经常需要统计代码的运行时间,所以计时功能就显得很重要, 记录一下现在喜欢用的计时方式,供日后查阅. 1.下面是计时主函数, bool TimeStaticMine(int id,const cha ...

  4. Spring Boot 自定义注册 Servlet、Filter、Listener

    前言 在 Spring Boot 中已经移除了 web.xml 文件,如果需要注册添加 Servlet.Filter.Listener 为 Spring Bean,在 Spring Boot 中有两种 ...

  5. 英特尔® Open Image Denoise 库有助于节省时间,提高质量

    在使用光线跟踪增强真实性与沉浸感时,游戏开发人员面临复杂的权衡.为了克服一系列挑战,英特尔创建了使用光线跟踪进行图像渲染的一整套解决方案,包含高性能开源滤波器.该解决方案已发布测试版,被集成至 Uni ...

  6. TensorFlow基础总结

    1.基础概念 Tensor:类型化的多维数组,图的边:Tensor所引用的并不持有具体的值,而是保持一个计算过程,可以使用session.run()或者t.eval()对tensor的值进行计算. O ...

  7. 【Deep Learning Nanodegree Foundation笔记】第 9 课:Model Evaluation and Validation

    In this lesson, you'll learn some of the basics of training models. You'll learn the power of testin ...

  8. 利用三层交换机实现VLAN间路由

    利用三层交换机实现VLAN间路由 本实验模拟企业网络场景.公司有两个部门一销 售部和客服部,分别规划使用VLAN 10和VLAN 20.其中销售部下有两台终端PC-1和PC-2,客服部下有一台终端PC ...

  9. spring boot-6.profile 多环境支持

    在正式项目中一般都会区分多个环境,一般至少分为开发环境,测试生产环境,生产环境,实际可能会有更加精细的区分,针对不同的环境,项目的配置可能需要切换,spring boot 提供了很方便的环境切换方式. ...

  10. String,StringBuffer,StringBulider 三者的区别

    1.String 是字符串常量,StringBuffer 和StringBuilder 是字符串变量. 2.运行速度 StringBuilder > StringBuffer > Stri ...