当前位置:首页 » 安卓系统 » android画布

android画布

发布时间: 2022-01-11 01:16:24

Ⅰ android canvas有层的概念么怎么定义多层,我定义了两个画布,但是只显示其中一个画布的内容。

两个画布是重叠的么?没有重叠的话可以写到xml里声明为组件

Ⅱ android中paint如何设置背景图片

1.创建一个背景图大小的Bitmap Bitmap bitmap=Bitmap.createBitmap(X, Y, Config.ARGB_8888);

2.Canvas canvas=new Canvas(bitmap); //创建画布Paint paint=new Paint(); //画笔

3。在canvas上画东西取得背景图片的Bitmap canvas.drawBitmap(backgroundBitmap, Rect , Rect , paint);
按照上面的步骤就可以设置背景图片了

Ⅲ android 我用一张图片做画布,要在这张图片上画三个矩形 可是却只画出一个矩形

你的方法不对,drawRect(left, top, right, bottom, paint) 这个方法本来就是画矩形的,其中上下左右四个坐标点代表它的四个顶点。

Ⅳ Android 关于画布canvas刷新的问题

java">SurfaceHoldersh=SomeView.this.getHolder();
Canvascanvas=sh.lockCanvas();
try{
synchronized(sh){
onDraw(canvas);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(null!=canvas){
sh.unlockCanvasAndPost(canvas);
}
}

Ⅳ Android绘制图片的几种方式

在android中做图像镜像有很多方法,今天算是学习了!
两种方法如下:

复制代码 代码如下:

//方法一
Matrix matrix = new Matrix();
matrix.postScale(leftOrRight, 1, bmpW/2, bmpH/2);//前两个是xy变换,后两个是对称轴中心点
matrix.postTranslate(x, y);
canvas.drawBitmap(bmpLuffy[0], matrix, paint);
//方法二
// canvas.save();
// canvas.scale(-1, 1, x + bmpLuffy[0].getWidth() / 2, y + bmpLuffy[0].getHeight() / 2);
// canvas.drawBitmap(bmpLuffy[0], x, y, paint);
// canvas.restore();

方法一,使用矩阵的方式(3x3)矩阵:
1、先使用postScale的方式将图片以点(bmpW/2,bmpH/2)为中心,以x=bmpW/2为对称轴翻转;
2、使用postTranslate,将图片移到(x,y)坐标
方法二,画布翻转(略)
注意如下问题:
对于其中的bmpW和bmpH是指所用图片的宽高,需要使用图片bmp.getWidth()和bmp.getHeight()获取,
不能使用PC上看到的大小,否则可能会出现错位!

Ⅵ android 画图片的几种方法

方法:

1.使用Xfermode 两图相交方式

2.通过裁剪画布区域实现指定形状的图形

3.使用BitmapShader

Ⅶ android开发问题: 在Activity主界面绘制画布,可是它把整个窗口都覆盖掉了,怎么设定画布的窗口大小呢(

你是说View占满了整个屏幕吗?这样的话就只能在layout中写一个布局文件,将View以一种组件的方式声明到.xml文件中,然后你可以在它的上下中声明其他的button或者textview或者ImageButton等。

Ⅷ android canvas一定要设置具体的画布吗canvas是画在屏幕上还是画在bitmap上求详解

简短的说就像text框要输入文字一样,你必须先让text取得焦点,获得光标才能进行输入

bitmap就像画布,canvas就像画笔。要画画就要知道画在哪里,所以必须要画布。
view的onDraw的canvas是花在view的背景上,也是类似bitmap上。
缓冲是在另一个后台bitmap上画好在进行展示

以上代表个人通俗理解只做参考理解,不是标准

Ⅸ android画布

canvas.drawRect(100,100,100,100, paint); 坐标不对,没有画开

Ⅹ android实现一个简单的画布,可以用手指画线条。

public class DrawView extends View {
Context mycontext;
int toasttime = 1000*60;
boolean enabletoast = true;
//之前的坐标
float preX;
float preY;
//路径
private Path path;
//画笔
public Paint paint = null;
//默认画布大小
public static int VIEW_WIDTH = 500;
public static int VIEW_HEIGHT = 600;
//
Bitmap cacheBitmap = null;
//
Canvas cacheCanvas = null;

public DrawView(Context context, AttributeSet set) {
super(context, set);
mycontext = context;
cacheBitmap = Bitmap.createBitmap(VIEW_WIDTH, VIEW_HEIGHT,
Config.ARGB_8888);
cacheCanvas = new Canvas();

path = new Path();
cacheCanvas.setBitmap(cacheBitmap);

paint = new Paint(Paint.DITHER_FLAG);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setAntiAlias(true);
paint.setDither(true);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
preX = x;
preY = y;
break;
case MotionEvent.ACTION_MOVE:
path.quadTo(preX, preY, x, y);
preX = x;
preY = y;
break;
case MotionEvent.ACTION_UP:
cacheCanvas.drawPath(path, paint);
path.reset();
if(enabletoast == false){

}
break;
}
invalidate();
return true;
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint bmpPaint = new Paint();
canvas.drawBitmap(cacheBitmap, 0, 0, bmpPaint);
canvas.drawPath(path, paint);
}

}

热点内容
家中服务器一定要设置ip吗 发布:2024-11-10 10:33:56 浏览:426
数据库李建中 发布:2024-11-10 10:33:21 浏览:714
sql静噪 发布:2024-11-10 10:23:10 浏览:672
java正则表达式ip 发布:2024-11-10 09:38:13 浏览:229
数据库送餐 发布:2024-11-10 09:32:32 浏览:216
android设置大小 发布:2024-11-10 09:31:39 浏览:705
matlab分类算法 发布:2024-11-10 09:31:06 浏览:206
数据库的概念设计是 发布:2024-11-10 09:31:00 浏览:709
pythonlunix 发布:2024-11-10 09:14:07 浏览:660
电脑锁定rpc服务器不可用 发布:2024-11-10 09:13:21 浏览:915