canvas教程

[开发语言android 界面]一个自定义View中canvas画图的

字号+ 作者:H5之家 来源:H5之家 2015-10-02 13:00 我要评论( )

[Android 界面]一个自定义View中canvas画图的问题 我写了个类继承了View ,在onDraw()方法中绘制了背景,而 现在需要接受用户的触摸事件,在自定义的类中另外写了一个方法,在触摸的位置画一个Bitmap,如果要调用canvas.drawBitmap()的话,要有canvas对象,

[Android 界面]一个自定义View中canvas画图的问题

我写了个类继承了View ,在onDraw()方法中绘制了背景,而 现在需要接受用户的触摸事件,在自定义的类中另外写了一个方法,在触摸的位置画一个Bitmap,如果要调用canvas.drawBitmap()的话,要有canvas对象,有没有什么办法拿到canvas对象或者其他的方法可以画图的,小弟新手 求赐教


回答1:

[Android 界面]一个自定义View中canvas画图的问题

用surfaceview可以

在surfaceviewchanged里面可以进行绘制,可以根据activity里面的监听事件具体

修改它

canvas在surfacevie的方法里new出就可以

回答2:

[Android 界面]一个自定义View中canvas画图的问题

你可以试下SurfaceView 你的点击处理事件仍然可以 在activity中处理

Canvas对象可以直接new的

回答3:

[Android 界面]一个自定义View中canvas画图的问题

你传过去就行了啊?

在另外一个类的初始化的时候,或者是调用方法的时候

回答4:

[Android 界面]一个自定义View中canvas画图的问题

本帖最后由 小贰不着急 于 2012-8-13 16:08 编辑

Canvas对象的获取方式有两种:

一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来

另一种就是当你想创建一个Canvas对象时使用的方法:

Bitmap bitmap = Bitmap.createBitmap(宽,高, Bitmap.Config);

Canvas c = new Canvas(bitmap);

回答5:

[Android 界面]一个自定义View中canvas画图的问题

canvas new了以后怎么在界面中显示啊 canvas与View的关系是

回答6:

[Android 界面]一个自定义View中canvas画图的问题

你是说在Activity中new一个Canvas 然后传递给重写类中的画图方法? 那怎么让new的canvas显示啊

不是new哦。你在画图的时候就会得到一个canvas啊,你得传递一下

回答7:

[Android 界面]一个自定义View中canvas画图的问题

小贰不着急 发表于 2012-8-13 16:02

Canvas对象的获取方式有两种:

一种我们通过重写View.onDraw方法,View中的Canvas对象会被当做参数传递过来 ...

Bitmap bitmap = Bitmap.createBitmap(宽,高, Bitmap.Config);

Canvas c = new Canvas(bitmap);

这样创建以后怎么把这个canvas绘制的东西添加到原来的视图中并显示出来呢?

回答8:

[Android 界面]一个自定义View中canvas画图的问题

kris 发表于 2012-8-13 16:36

不是new哦。你在画图的时候就会得到一个canvas啊,你得传递一下

没懂,是onDraw()中的canvas吗 那怎么传递啊

回答9:

[Android 界面]一个自定义View中canvas画图的问题

你把用canvas绘制的东西画好的Bitmap

在View的onDraw中用onDraw的参数canvas画到你的view上去

回答10:

[Android 界面]一个自定义View中canvas画图的问题

这个很好处理的。你可以在onDraw中设置这样的逻辑

if(isTouch){

//画出你你想要的效果

}

那么你只需要在触摸时改变isTouch这个状态还有就是把触摸点记录下来就好了。

回答11:

[Android 界面]一个自定义View中canvas画图的问题

android012 发表于 2012-8-13 17:01

Bitmap bitmap = Bitmap.createBitmap(宽,高, Bitmap.Config);

Canvas c = new Canvas(bitmap);

这样创建 ...

需要用系统传给你的canvas,调用canvas.draw(bitmap,0,0,paint);其中,bitmap必须是你之前用的那个bitmap

回答12:

[Android 界面]一个自定义View中canvas画图的问题

谢谢各位帮忙,我还是用SurfaceView搞定了

回答13:

[Android 界面]一个自定义View中canvas画图的问题

android012 发表于 2012-8-15 10:09

谢谢各位帮忙,我还是用SurfaceView搞定了

LZ是怎么搞定的???给个代码呗 我现在想实现一个想QQ涂鸦那样的功能要用到这个

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • html5canvas核心技术图形、动画与游戏开发源码

    html5canvas核心技术图形、动画与游戏开发源码

    2017-05-02 17:42

  • canvas游戏开发学习之四:应用图像

    canvas游戏开发学习之四:应用图像

    2017-04-29 16:00

  • Canvas与ValueAnimator

    Canvas与ValueAnimator

    2017-04-28 18:00

  • Android Bitmap和Canvas学习笔记(转)

    Android Bitmap和Canvas学习笔记(转)

    2017-04-28 17:00

网友点评
<