android 画透明圆圈,在填充的Android画布上绘制一个透明圆圈
尝试这个:
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画布上绘制一个透明圆圈相关推荐
- html 怎么在画布上绘制一个圆,javascript – 如何在画布上画一个圆圈?
我使用 javascript和画布绘制一个数学设计的尺度(用于测量扭矩,包括牛顿米和英尺磅).我已经用三角法来定位我的刻度,自然地用弧线绘制电弧线.问题来了,当他们需要排队,但有一些奇怪的失真.然后我 ...
- html5画布画点,在HTML5画布上绘制一个点
6 个答案: 答案 0 :(得分:141) 如果您打算绘制大量像素,使用画布的图像数据进行像素绘制会更有效率. var canvas = document.getElementById("m ...
- java canvas画圆圈_java – 在视图上绘制一个圆圈(android)
几点意见: 在确定圆的中心点和半径时,您需要考虑分配给视图的宽度和高度. 您应该考虑分配给视图的填充,这样就不会绘制该保留部分. 你应该避免在onDraw方法中分配对象,因为这会被调用很多. 为了允许 ...
- android对图片拉线测量,如何在谷歌地图上绘制线条叠加Android
我想在我的地图项目上绘制一条线,但无法绘制线条.我在哪里以及如何声明覆盖图?我尝试了各种方法,但无法让它工作.即代码只是在Eclipse中显示错误.我不想做的是画一条从A到B的路线,而是在我移动时绘制 ...
- android 设置画布颜色,android – 如何设置笔触颜色以在画布上绘制矩形?
我想绘制一个圆形矩形,其笔划为蓝色,填充为红色,但我在Paint类中找不到设置笔触颜色的方法.我怎样才能做到这一点? mCanvas.drawColor(mBackgroundColor,Porter ...
- html5圆圈,javascript – 如何在HTML5画布中绘制带有文本的圆圈
看起来很简单,可以在 HTML5画布中绘制圆圈和文本,但是我得到了非直观的行为.圆形画得漂亮漂亮,然后画出的圆圈越多,旧圆圈的形状越来越八角形.对我来说很奇怪-此外,文字从旧圆圈中消失,只出现在最后绘 ...
- python画八卦图的指令_12行javascript代码绘制一个八卦图
一句话说明:用有限的代码构建一个1024*1024的颜色矩阵,秀出你的编程&艺术之美 起源于 stackexchange 上的一个问题, 这里稍微做了一下扩展,支持更多编程语言,并放宽了代码长 ...
- ubuntu 禁用透明大页_如何在ubuntu上默认启用透明的大页面?
如何在ubuntu上默认启用透明的大页面? $uname -a Linux yoda 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13 ...
- 用python画背景_如何在有背景的画布上绘制图像
我想用Tkinger做一个纸牌游戏.在设置一个表图像作为画布的背景.在 在桌子的背景上画卡片.这将通过单击按钮(此处未显示)来触发 问题是我不能在桌面背景上创建卡片图像.正确的方法是什么?我是否需要为 ...
最新文章
- boost::interprocess::anonymous_shared_memory用法的测试程序
- 光立方原理讲解_90%人不理解什么是防眩光射灯 防昡晕 防炫光,。怎么选项led防眩灯...
- 更多编译器对C++11的支持比较
- Excel最强玩法!只用Excel就能做出「王者荣耀」战绩表
- XPS文件怎么转成Word呢
- 上海公交投诉电话:12319
- cannot find -lGL问题的解决方法
- 一剑开尘走龙蛇 XGBoost
- charles抓包提示unknow
- 风险投资(VC)与私募股权投资(PE)的区别
- 7-2 求一元二次方程的根
- Facebook Surround 360 环境配置指南(3D立体全景)
- 实验六 WEB FTP服务器配置
- 求100以内的素数(c语言)
- 海伯利安:区块链未来的新大陆与新范式
- 我的炉子和空调应该使用哪种空气过滤器?
- 战疫杯--奇奇怪怪的形状
- 操作系统之死锁的避免-银行家算法详解
- Powershell DSC 5.0 - Pull 模式 (HTTPS)
- Rancher2.x--stable版本环境搭建