上段时间在项目中需要将方形图片处理为圆形图片,你可能会说直接用css设置border-radius: 50%就可以了,但是项目中还要将此图片的圆形图片作为一部分利用canvas将其绘制到一张背景图上面,所以就有了为何要用canvas来处理了. 代码示例: //canvas 加载图圆形处理 var canvas = document.getElementById('canvas1'); var ctx = canvas.getContext('2d'); //加载图片 var img = new…
这个是直接在网上转载的,自己验证可靠 转载自http://my.oschina.net/zhouz/blog/213164 直接贴上代码 import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import…
canvas的文字自动换行函数封装 // str:要绘制的字符串 // canvas:canvas对象 // initX:绘制字符串起始x坐标 // initY:绘制字符串起始y坐标 // lineHeight:字行高,自己定义个值即可 function canvasTextAutoLine(str,canvas,initX,initY,lineHeight){ var ctx = canvas.getContext("2d"); var lineWidth = 0; var canv…
<!doctype html><html><head><meta charset="utf-8"><title>方形图片圆形显示</title><style type="text/css">#img1{border-radius: 50%; } </style></head> <body><img src="http://www.s…
本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出.于是自己自定义了个View,实现图片的圆角以及圆形效果.效果图: 第一个是原图,第二个是圆形效果,第三第四设置了不同的圆角大小. 准备改变一个博客的风格,首先给大家讲一下原理,让大家明白了,然后再贴代码,不然可以直接看那么长的代码也比较痛苦,核心代码其实就那么几行: 核心代码分析: /** * 根据原图和变长绘制圆形图片 * * @param source * @param min * @return…
一般要做正圆形图片,只能是正方形的基础上才能实现,否则就变成椭圆了,下面说说如何使长方形的图片生成正圆形图片 废话不多说,没图没真相,先上图吧: 原图:  变成正圆后:  下面上代码: public static Bitmap makeRoundCorner(Bitmap bitmap) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); int left = 0, top = 0, right = width, b…
canvas性能-绘制图片 目录 canvas性能-绘制图片 canvas绘制图片 drawImage putImageData createPattern 测试绘制耗时 drawImage Image类型 ImageBitmap类型 HTMLCanvasElement类型 putImageData 结论 canvas绘制图片 一般我们绘制图片会用到的方法是drawImage和putImageData,还有作为测试环境使用的createPattern drawImage 描述: 使用方式: ct…
移动端用canvas代替img渲染图片,可以提高性能 var oImg = new Image(); oImg.src = url; oImg.onload = function(){ var cvs = $('#cvsIndex')[0].getContext('2d'); cvs.width = this.width; cvs.width = this.height; cvs.drawImage(this,0,0); }…
 Android Glide加载图片时转换为圆形.圆角.毛玻璃等图片效果 附录1简单介绍了Android开源的图片加载框架.在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide在加载过程中就把矩形图转换成圆形的,则需要在Glide之上引入一个开源项目:glide-tran…
html5 canvas 绘制字体.图片与图形模糊问题 发生情况 多出现在高dpi设备,这意味着每平方英寸有更多的像素,如手机,平板电脑.当然很多高端台式电脑也有高分辨率高dpi的显示器. canvas在浏览器中的缩放原理 如果没有设置style那么就以html的属性width,height作为尺寸. 如果设置了style中的width.height,那么以其style设置为最终绘制到浏览器的尺寸. 也就是说,属性中的宽高并不代表实际宽高,所以高dpi下会放大canvas,导致模糊. canva…
function drawCircleImage(url, callback) { const canvas = document.createElement('canvas'); const img = new Image(); img.setAttribute("crossOrigin", 'Anonymous'); img.src = url; img.onload = function() { canvas.width = img.width; canvas.height =…
HTML代码: <input id="file" type="file"> JS代码: var eleFile = document.querySelector('#file'); // 压缩图片需要的一些元素和对象 var reader = new FileReader(), img = new Image(); // 选择的文件对象 var file = null; // 缩放图片需要的canvas var canvas = document.cre…
合成图片方法 <?php class Share { /* * 生成分享图片 * */ function cre_share_study_img(){ $auth = json_decode(base64_decode($_GET['auth']),true); $url = trim(strip_tags($auth['url'])); $uid = max(0,strip_tags($auth['id'])); //120618218; if(empty($url) || !$uid){ e…
一 . 效果 这是借用女神照生成的分享的海报,图片来自网络. 新增了poster组件和更新图片自适应 二 . 准备 准备两张图片连接,最好是自己开发账号验证的https图片链接. 三 . 实现思路 其实就是canvas实现方式,首先要就是定义一个canvas容器,把容器放在中间,图片也要动态计算大小居中,显示下面的文字和二维码也是要根据容器动态去改变,这就是大概的实现思路. 四 . 实现代码 利用微信小程序canvas生成海报分享图片,这个生成图片排版和适配不同尺寸的手机是一个难点,特别是图片适…
wxml代码: <view class="result-page"> <canvas canvas-id='firstCanvas' style='width:100%;height:500px;margin: 0;padding: 0;display: block;background-color:#eeeeee'></canvas> <view class='footer'> <view class='btn-layout'&g…
<style> img { transition:all 0.8s ease 0s;} img:hover { border-radius:50%; transform:rotate(720deg);} </style> <img src="http://cdn.duitang.com/uploads/item/201312/05/20131205172330_8uCx4.thumb.700_0.jpeg">…
作者:issac_宝华链接:http://www.jianshu.com/p/9a6ee2648d6f來源:简书 在html中做圆框图片很容易,只需要简单的 border-radius: 50%; 当然,为了兼容性,还有必要做带前缀的兼容性写法.但总的来说还是很简单. <style> img{ -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; } </style> 但是在canvas上做…
从网上扒拉的代码,敲了敲代码玩. html页面显示内容很简单,只要写个canvas标签,给他一个id写js就可以了 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Canvas API</title> <link href=&…
声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 看了岑安大大的教程http://www.cnblogs.com/hongru/archive/2012/03/28/2420415.html后,让我见识到了canvas操控像素能力的强大,也就自己试着做了一下.发现如此好玩的效果也正如岑安大大所说的一样,事情没有想象中那么难. 先看个DEMO吧,先从文字下手:文字粒子化 要做出这样的效果,只需要懂的使用canvas的getImgData()就行了.该方法能够复制画布上指定矩形的像素数据…
大概意思就是不生成新的图片,而是将图片转换为圆形图片. 实现代码如下: private Image CutEllipse(Image img, Rectangle rec, Size size) { Bitmap bitmap = new Bitmap(size.Width, size.Height); using (Graphics g = Graphics.FromImage(bitmap)) { using (TextureBrush br = new TextureBrush(img,S…
1.基本的绘制图片方法 //Bitmap:图片对象,left:偏移左边的位置,top: 偏移顶部的位置 drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 2.对图片剪接和限定显示区域 drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint): Rect src: 是对图片进行裁截,若是空null则显示整个图片 RectF dst:是图片在Canvas画布中显示的…
1.主要的绘制图片方法 //Bitmap:图片对象,left:偏移左边的位置,top: 偏移顶部的位置     drawBitmap(Bitmap bitmap, float left, float top, Paint paint) 2.对图片剪接和限定显示区域 drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint): Rect src: 是对图片进行裁截,若是空null则显示整个图片 RectF dst:是图片在Canvas画布…
今天一直在找html5 canvas的使用实例.想画一张地图,再画个小车在上面跑.运气好找到了一个大神写的js代码.该代码实现了图片的左右来回滚动,现在粘贴在博客里记录一下: <html> <head> <meta charset="utf-8" /> <title>LScroll5.html</title> <script type="text/javascript"> var LScroll…
上周我们花了半天时间开发下一个准备放进Mozilla Marketplace的应用.有一个应用现在非常的火热,那就是Instagram,Facebook花了100万美元收购了它.我们也想有100万美元装到口袋里,我决定开发一个Instagram风格的应用,这篇文章了我将介绍一下如何将一张图片拷贝到canvas里,以及反过来,如何将画布内容保存成图片格式. 使用JavaScript将图片拷贝进画布 要想将图片放入画布里,我们使用canvas元素的drawImage方法: // Converts i…
注意 不是用canvas画图 是在canvas中插入图片 我很是惊讶  为啥明明img标签就能解决的非要用canvas 不过别人写好的 我一般不会动 需求是 canvas中的图片自适应不能拉伸…… 老规律 还是图片 ————————————我是分割线—————————————————— HTML JS 现在的效果已经可以出来了 嗯 没错 边框颜色还是我最爱的pink 这时候你会发现我们的图片并没有垂直居中显示 (我是根据宽度要自适应的) 我们需要这样  在drawImage()方法中 进行修改x…
最近有个项目是保存为名片(图片),让用户发送给朋友或朋友圈,找了很多方案都不适用,绞尽脑汁之后还是选了使用canvas,但是用这玩意儿生成图片最大的缺点就是,如果你的内容中有图片,并且这个图片是通过外链链接进来的,那么很容易造成跨域而无法生成图片的问题,以下就是我解决该问题的办法: *提前说一句,在做这个功能的时候,我发现跨域的问题没法解决,唯一能做的就是把图片放到和canvas相同的域里 1,以下是微信小程序的wxml文件部分 <canvas canvas-id='share' width=&qu…
package com.wtsrui.utils;import java.awt.Color;  import sun.misc.BASE64Encoder;import java.awt.Graphics2D;  import java.awt.Image;  import java.awt.RenderingHints;  import java.awt.geom.Ellipse2D;  import java.awt.image.BufferedImage;  import java.io…
在学习 html5中的 Canvas.drawImage时写了如下代码: <!doctype html> <html> <head><title>研究</title></head> <body> <canvas id="canvas" style="width:500px;height:400px; border:1px solid red"></canvas>…
canvas有个很强大的api是drawImage()(w3c): 他的主要功能就是绘制图片.视频,甚至其他画布等.   问题: 慕名赶来,却一脚踩空,低头一看,地上一个大坑. 事情是这样的,在我看完w3c的介绍和很有说服力和教学力的demo后,本着实践出真知的思想决定上手一试,这一试不要紧~   我按照流水线工程铺设以下几点基本工作: 1. canvas标签+id <canvas id="canvas1"></canvas> 2. 获取canvas+设置宽高…
大概意思就是不生成新的图片,而是将图片转换为圆形图片. 实现代码例如以下: private Image CutEllipse(Image img, Rectangle rec, Size size) { Bitmap bitmap = new Bitmap(size.Width, size.Height); using (Graphics g = Graphics.FromImage(bitmap)) { using (TextureBrush br = new TextureBrush(img…