`
cakin24
  • 浏览: 1370426 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Canvas 位图裁剪

阅读更多
一 位图裁剪方法
1、将需要从位图上裁剪的部分定义成Canvas的路径。
2、调用CanvasRenderingContext2D的的clip()方法把路径剪切出来。
3、绘制位图——此时只要被clip()的路径覆盖的部分才会被显示出来。
二 代码
<!DOCTYPE html>
<html>
<head>
	<meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
	<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	<title> 位图裁剪 </title>
</head>
<body>
<h2> 位图裁剪 </h2>
<canvas id="mc" width="400" height="260"
	style="border:1px solid black"></canvas>
<script type="text/javascript">
	// 获取canvas元素对应的DOM对象
	var canvas = document.getElementById('mc');
	// 获取在canvas上绘图的CanvasRenderingContext2D对象
	var ctx = canvas.getContext('2d');
	var dig = Math.PI / 20 ;
	var count = 0;
	var image = new Image();
	image.src = "android.png";
	image.onload = function()
	{
		// 指定每隔0.15秒调用一次addRadial函数
		setInterval("addRadial();" , 150);
	}
	var addRadial = function()
	{
		// 保存当前的绘图状态
		ctx.save();
		// 开始创建路径
		ctx.beginPath();
		// 添加一段圆弧
		ctx.arc(200 , 130 , 200 , 0 , dig * ++count , false);
		// 让圆弧连接到圆心
		ctx.lineTo(200 , 130);
		// 关闭路径
		ctx.closePath();
		// 剪切路径
		ctx.clip();
		// 此时绘制的图片只有路径覆盖的部分才会显示出来
		ctx.drawImage(image , 124  , 20);
		ctx.restore();
	}
</script>
</body>
</html>
 
三 运行结果


 
  • 大小: 13.4 KB
1
0
分享到:
评论

相关推荐

    canvas上传图片base64-有裁剪功能-Jcrop.js

    1.canvas上传图片base64-有裁剪功能-Jcrop.js 2.3.可以设置是否-上传图片大小,limitImg = true 3.4.可以设置是否-有裁剪图片大小条件,limitImg = true,可手动更改 可预览图片地址 ...

    Android canvas drawBitmap方法详解及实例

    在Android开发中,Canvas是用于在屏幕上绘制图形和图像的核心组件。...通过结合`src`和`dst`矩形的设置,开发者可以实现各种复杂的图像绘制效果,如动画、拼贴、裁剪等。在自定义View时,这是一个非常有用的工具。

    canvas_PowerBuilder_

    8. **代码示例**:描述中的链接可能提供了一些实用的代码片段,你可以参考它们学习如何在Canvas上操作位图,如动态加载、裁剪、旋转或缩放图像。 9. **社区支持**:PowerBuilder有一个活跃的开发者社区,你可以在...

    H5实现裁剪图片并上传

    4. **转换为上传格式**:由于服务器通常不接受Canvas的位图数据,我们需要将裁剪后的图片转换为常见格式,如JPEG或PNG。这可以通过Canvas的`toDataURL()`方法实现,该方法会返回一个包含图片数据的Base64编码字符串...

    Android Canvas绘图Demo

    2. 保存与恢复状态:`save()`和`restore()`方法可以保存和恢复Canvas的状态,包括变换、裁剪和画笔设置,以便于复用或进行复杂的组合绘制。 五、实际应用 1. 自定义View:在Android应用中,我们常常需要自定义View...

    Android 实现QQ圆形图片裁剪功能

    我们可以使用`Bitmap.createBitmap()`方法来创建一个新的位图,然后通过`Canvas`进行绘制和裁剪。对于圆形图片,关键在于利用`Paint`对象的抗锯齿功能和` PorterDuff.Mode.SRC_IN `混合模式来实现圆角或圆形的裁剪...

    android圆形图片裁剪demo以及实现

    然后,使用`Canvas`的`drawBitmap()`方法,在新的位图上绘制原图片的一部分,通过设置裁剪区域为圆形。最后,返回这个裁剪后的位图。 5. **实现裁剪交互** 可以通过手势识别库(如`GestureDetector`)来监听用户的...

    canvas、paint绘图

    此外,Canvas还提供了位图操作,如绘制Bitmap、缩放、旋转、裁剪等。例如,加载一张图片并将其绘制到Canvas上: ```java Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image); canvas...

    HTML5 Canvas Cookbook (英文原版)

    HTML5 Canvas是一个强大的Web图形接口,它允许开发者在网页上绘制矢量图形和位图图像。这本书《HTML5 Canvas Cookbook》是专为那些希望深入掌握Canvas技术的前端开发者准备的实用指南。书中涵盖了一系列的实例和技巧...

    android图片圆形裁剪框

    Android系统提供了丰富的图像处理API,例如Bitmap类用于表示位图图像,Canvas类用于绘制图像,以及Paint类用于设置绘制时的颜色、样式等属性。在创建圆形裁剪框的过程中,我们将主要用到这些类。 1. **圆形裁剪框...

    安卓Android源码——截图,圆形,Canvas.zip

    在这个方法中,我们使用`canvas.drawCircle`和`PorterDuff.Mode.SRC_IN`来裁剪Bitmap为圆形。 ```java public class CircleImageView extends AppCompatImageView { @Override protected void onDraw(Canvas ...

    Android_Canvas_Demo

    5. **位图(Bitmap)**:除了直接绘制位图外,还可以使用`canvas.drawBitmap(bitmap, srcRect, dstRect, paint)`进行位图的拉伸、裁剪等操作。srcRect和dstRect分别表示源位图和目标区域。 6. **渐变(Gradient)**:...

    图片裁剪自定义控件

    在Android中,可以使用`Path`对象创建一个圆形路径,并在`onDraw()`中使用`canvas.clipPath(path)`裁剪画布。 - iOS中,可以利用`UIBezierPath`创建圆形路径,然后调用`context.clip()`来应用遮罩。 3. **矩形裁剪...

    《HTML5 Canvas开发详解(第2版)》第二版示例代码

    此外,Canvas还支持图像处理,例如`drawImage()`可以将图片绘制到画布上,以及图像的裁剪、缩放和旋转。 颜色与渐变也是Canvas的重要部分。开发者可以使用`fillStyle`和`strokeStyle`属性设置线条和填充的颜色,还...

    基于HTML5 Canvas绘图技术应用.pdf

    1. 像素级别的位图绘图技术:Canvas具备像素级别的位图绘图技术,可以通过浏览器脚本语言(通常是JavaScript)调用自带的函数(方法)进行图形绘制,实现对图像的像素级别的操作。 2. 跨平台的优势:Canvas具有跨...

    KingJA_CanvasDemo

    3. **位图操作**:加载Bitmap并进行绘制,可能包括裁剪、旋转、缩放、平移位图等。 4. **文本绘制**:展示如何在Canvas上绘制文本,包括设置字体、颜色、对齐方式、行间距等。 5. **坐标变换**:利用Canvas的...

    多次打开合并显示两幅位图

    合并可能涉及到简单的叠加、混合模式、裁剪或者拼接。在这个案例中,"合并显示"可能是指将多个位图以某种方式组合成一个单一的显示画面。 3. **用户界面设计**: 用户界面(UI)是人与计算机系统交互的工具和元素...

    Android之实现截图,圆形,Canvas功能_图片处理.zip

    这个自定义的`CircleImageView`会将加载的图片裁剪为圆形,并在`onDraw()`方法中绘制。 最后,`Canvas`是Android图形系统的核心组件,用于在Bitmap或其他图形表面进行绘图操作。它可以画线、矩形、圆、文字等,还...

    玩转html5 的 canvas画图

    Canvas是像素化的,因此所有的绘图都是位图,这意味着它依赖分辨率,并且可能会出现锯齿边缘。 Canvas的使用从HTML文档中的一个简单的&lt;canvas&gt;标签开始。这个标签需要一个id和width、height属性来定义画布的尺寸。...

    《HTML5 Canvas核心技术 图形、动画与游戏开发》

    1. `drawImage()`: 用于在Canvas上绘制图像,支持调整尺寸、裁剪等操作。 2. 图像数据处理:`getImageData()`获取像素数据,`putImageData()`将处理后的数据放回Canvas。 四、动画原理与实现 1. 基于帧的动画:利用...

Global site tag (gtag.js) - Google Analytics