尝试这个:

public class TransparentCircle extends View {

Bitmap bm;

Canvas cv;

Paint eraser;

public TransparentCircle(Context context) {

super(context);

Init();

}

public TransparentCircle(Context context, AttributeSet attrs) {

super(context, attrs);

Init();

}

public TransparentCircle(Context context, AttributeSet attrs,

int defStyleAttr) {

super(context, attrs, defStyleAttr);

Init();

}

private void Init(){

eraser = new Paint();

eraser.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));

eraser.setAntiAlias(true);

}

@Override

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

if (w != oldw || h != oldh) {

bm = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);

cv = new Canvas(bm);

}

super.onSizeChanged(w, h, oldw, oldh);

}

@Override

protected void onDraw(Canvas canvas) {

int w = getWidth();

int h = getHeight();

int radius = w > h ? h / 2 : w / 2;

bm.eraseColor(Color.TRANSPARENT);

cv.drawColor(Color.BLUE);

cv.drawCircle(w / 2, h / 2, radius, eraser);

canvas.drawBitmap(bm, 0, 0, null);

super.onDraw(canvas);

}

}

android 画透明圆圈,在填充的Android画布上绘制一个透明圆圈相关推荐

  1. html 怎么在画布上绘制一个圆,javascript – 如何在画布上画一个圆圈?

    我使用 javascript和画布绘制一个数学设计的尺度(用于测量扭矩,包括牛顿米和英尺磅).我已经用三角法来定位我的刻度,自然地用弧线绘制电弧线.问题来了,当他们需要排队,但有一些奇怪的失真.然后我 ...

  2. html5画布画点,在HTML5画布上绘制一个点

    6 个答案: 答案 0 :(得分:141) 如果您打算绘制大量像素,使用画布的图像数据进行像素绘制会更有效率. var canvas = document.getElementById("m ...

  3. java canvas画圆圈_java – 在视图上绘制一个圆圈(android)

    几点意见: 在确定圆的中心点和半径时,您需要考虑分配给视图的宽度和高度. 您应该考虑分配给视图的填充,这样就不会绘制该保留部分. 你应该避免在onDraw方法中分配对象,因为这会被调用很多. 为了允许 ...

  4. android对图片拉线测量,如何在谷歌地图上绘制线条叠加Android

    我想在我的地图项目上绘制一条线,但无法绘制线条.我在哪里以及如何声明覆盖图?我尝试了各种方法,但无法让它工作.即代码只是在Eclipse中显示错误.我不想做的是画一条从A到B的路线,而是在我移动时绘制 ...

  5. android 设置画布颜色,android – 如何设置笔触颜色以在画布上绘制矩形?

    我想绘制一个圆形矩形,其笔划为蓝色,填充为红色,但我在Paint类中找不到设置笔触颜色的方法.我怎样才能做到这一点? mCanvas.drawColor(mBackgroundColor,Porter ...

  6. html5圆圈,javascript – 如何在HTML5画布中绘制带有文本的圆圈

    看起来很简单,可以在 HTML5画布中绘制圆圈和文本,但是我得到了非直观的行为.圆形画得漂亮漂亮,然后画出的圆圈越多,旧圆圈的形状越来越八角形.对我来说很奇怪-此外,文字从旧圆圈中消失,只出现在最后绘 ...

  7. python画八卦图的指令_12行javascript代码绘制一个八卦图

    一句话说明:用有限的代码构建一个1024*1024的颜色矩阵,秀出你的编程&艺术之美 起源于 stackexchange 上的一个问题, 这里稍微做了一下扩展,支持更多编程语言,并放宽了代码长 ...

  8. ubuntu 禁用透明大页_如何在ubuntu上默认启用透明的大页面?

    如何在ubuntu上默认启用透明的大页面? $uname -a Linux yoda 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13 ...

  9. 用python画背景_如何在有背景的画布上绘制图像

    我想用Tkinger做一个纸牌游戏.在设置一个表图像作为画布的背景.在 在桌子的背景上画卡片.这将通过单击按钮(此处未显示)来触发 问题是我不能在桌面背景上创建卡片图像.正确的方法是什么?我是否需要为 ...

最新文章

  1. boost::interprocess::anonymous_shared_memory用法的测试程序
  2. 光立方原理讲解_90%人不理解什么是防眩光射灯 防昡晕 防炫光,。怎么选项led防眩灯...
  3. 更多编译器对C++11的支持比较
  4. Excel最强玩法!只用Excel就能做出「王者荣耀」战绩表
  5. XPS文件怎么转成Word呢
  6. 上海公交投诉电话:12319
  7. cannot find -lGL问题的解决方法
  8. 一剑开尘走龙蛇 XGBoost
  9. charles抓包提示unknow
  10. 风险投资(VC)与私募股权投资(PE)的区别
  11. 7-2 求一元二次方程的根
  12. Facebook Surround 360 环境配置指南(3D立体全景)
  13. 实验六 WEB FTP服务器配置
  14. 求100以内的素数(c语言)
  15. 海伯利安:区块链未来的新大陆与新范式
  16. 我的炉子和空调应该使用哪种空气过滤器?
  17. 战疫杯--奇奇怪怪的形状
  18. 操作系统之死锁的避免-银行家算法详解
  19. Powershell DSC 5.0 - Pull 模式 (HTTPS)
  20. Rancher2.x--stable版本环境搭建

热门文章

  1. 框选N条(线段,多段线),求不重合闭合区域问题
  2. 2021年Javascript最常见的面试题以及答案
  3. vue中路由实现的原理?
  4. 程序员面试所需的软技能
  5. 《God of War 3 / 战神3》图文攻略
  6. PDF格式转换成HTML格式
  7. Django毕业设计详细步骤以及论文步骤
  8. [NOTE]彩虹表相关原理和开发指导
  9. quartus和modelsim联合仿真详细教程
  10. 【华为OD机试真题 Java】火星文计算(100%通过+全网最详细注释)