android 如何截取一个扇形的区域

问题描述

项目需要我要截取一张图片的扇形区域,这个扇形也有可能是圆形,需要写在onDraw(Canvas canvas)函数里,因为这个扇形会随着拖动变化的,如何实现啊,请教大侠

解决方案

下面的代码不知道合不合你的意…可以在 Canvas 中剪出一个扇形。public void getSector(Canvas canvas, float radius, double fromDegree, double toDegree, Op op) { canvas.translate(radius, radius); Path pathCircle = new Path(); pathCircle.addCircle(0, 0, radius, Direction.CCW); Path pathTriangle = new Path(); pathTriangle.moveTo(0, 0); float vYFrom = (float) (Math.sin(fromDegree * Math.PI / 180) * 2 * radius); float vYTo = (float) (Math.sin(toDegree * Math.PI / 180) * 2 * radius); float vYCenter = (float) (Math.sin(((toDegree + fromDegree) / 2) * Math.PI / 180) * 2 * radius); float vXFrom = (float) (Math.cos(fromDegree * Math.PI / 180) * 2 * radius); float vXTo = (float) (Math.cos(toDegree * Math.PI / 180) * 2 * radius); float vXCenter = (float) (Math.sin(((toDegree + fromDegree) / 2) * Math.PI / 180) * 2 * radius); pathTriangle.lineTo(vXFrom, vYFrom); pathTriangle.lineTo(vXCenter, vYCenter); pathTriangle.lineTo(vXTo, vYTo); pathTriangle.close(); canvas.clipPath(pathCircle); canvas.clipPath(pathTriangle, op); }
解决方案二:
楼上正确~~~
解决方案三:
具体的代码实现不能提供给你,但是可以参考设置壁纸时截取sd卡中的图片的时候的方式

时间: 2024-09-20 06:38:03

android 如何截取一个扇形的区域的相关文章

gdi+-C# 图像处理 如何截取一个扇形区域

问题描述 C# 图像处理 如何截取一个扇形区域 我现在需要做一个简单的圆周动画,原理是使用GDI+.现在遇到一个问题,我需要截取圆的一个扇形区域,扇形的角度从0到360可以任意指定.有没有办法实现? 解决方案 就是区域类型,由弧和两条线段构成 http://www.cnblogs.com/lvpengms/p/3566964.html

imageview-请教一个关于android ImageView的一个问题

问题描述 请教一个关于android ImageView的一个问题 请教一个关于android ImageView的一个问题:如何获取ImageView中图像的大小,以及它在屏幕中的区域(Rect)?(并非是要ImageView本身的大小和区域) 解决方案 public void setImageMatrix(Matrix aMatrix) { mPhotoView.setImageMatrix(aMatrix); //mPhotoSrcRect:原图像的区域:mPhotoDstRect:设置M

源代码-android 如何截取特定标记间的字符

问题描述 android 如何截取特定标记间的字符 我在做一个获取网页源代码的程序 现在可以成功获取全部代码 但是我想实现只获取特定标记间的代码该如何实现? 比如 网页上有一段文字 如下: ....风格的回访电话...第一个......第二个....没几个环节... 我只想获取第一个.第二个 这两个标记间的字符代码该如何写? 求大神指点 希望能够详细点 本人是个刚接触安卓的小白 解决方案 用正则,网上很多关于截取html内容的正则,你可以参考 解决方案二: 我也没学多久,用String.inde

图片-Android Button控件点击区域怎么设置为圆形

问题描述 Android Button控件点击区域怎么设置为圆形 如题,怎么将默认的方形Button响应区域设置为圆形响应区域,因为图片是圆形的 解决方案 如图:一个自定义Button类,用它替代xml里的Button. 解决方案二: 用的imagebutton?图片用png格式,背景设为透明 解决方案三: 背景也可用shape设置圆形 解决方案四: 使用shape属性来写吧.http://www.cnblogs.com/cyanfei/archive/2012/07/27/2612023.ht

opencv2 使用鼠标绘制矩形并截取和保存矩形区域图像

  前言        好长时间没写博文了,今天偷偷懒写篇关于opencv2中鼠标响应操作的文章.       鼠标操作属于用户接口设计,以前一直使用Qt来做,但是如果只需要简单的鼠标,键盘操作,直接调用opencv库的函数也未尝不可,鼠标操作之前已经接触很多了,在MFC,QT,OpenGL,等等中,理论主要就是两点,一是监控鼠标操作,鼠标点击,移动,松开,然后通过mouse_event识别判断出那一种鼠标的操作,根据不同的操作然后进行处理,二是在主函数中加入鼠标的回调函数,将鼠标操作与程序的窗

PHP实现截取一个URL中的主域名

PHP实例教程,如何截取一个URL中的主域名,如下代码: <?php $S = 'http://bbs.webjx.com'; $S = parse_url($S); $S = strtolower($S['host']) ; //取域名部分 //echo $S; $domain = array('com','cn','name','org','net'); //域名后缀 有新的就扩展这吧 $SS = $S; $dd = implode('',$domain); $SS = preg_repla

代码-如何解决Android中的一个小问题?

问题描述 如何解决Android中的一个小问题? 我在写android代码时候如下一段代码: public void cc(){ String aa=getHtml();//有点耗时 ......... } 在执行过程之中,程序还未等aa返回值时,就执行下面代码.如何让aa执行完后再执行下面代码. 解决方案 你可以这样的 public void cc(){ String aa=getHtml(); if(aa!=null){ //这里放下面执行的代码,这样就能等你上面执行完再执行下面的了,你看行

Android 如何通过一个fragment结束另一个fragment的死循环线程

问题描述 Android 如何通过一个fragment结束另一个fragment的死循环线程 有一个activity,包含两个fragment,两个fragment各自包含一个死循环线程,我想通过一个fragment结束这个activity(通过finish),顺便把这个fragment里的死循环线程结束了(通过flag=false和thread.interrupt()).再次启动这个activity,被结束的死循环线程能正常启动,但是没有结束的死循环线程不能正常工作了,我catch到错误,但不

android gridview第一个item

问题描述 android gridview第一个item gridview 中的第一个item中放置了图片和textview,启用线程进行刷新显示textview的内容,其他的item都正常只有第一个item不正常显示,求大神指导 解决方案 你这么问没意义,肯定是你代码有问题,自己打印一些信息,帮助你调试 解决方案二: 怎么不正常显示了,是不是错位了,看看你刷新的图片是不是每次都会不一样大小,把布局弄乱了 解决方案三: Android酱油笔记之Gridview第一个item点击效果问题