android-canvas相关内容
我是android开发的新手,正在探索View.我遇到了已知的两种方法onDraw(Canvas c)和draw(Canvas c). 能否请我解释一下这两种方法的区别和用法?使用图像更新画布时,哪种方法可以提供更好的性能(FPS)? 解决方案 它们之间有区别 或者用简单的话来说 draw(Canvas c)只是视图的功能,您可以在首次渲染视图后调用它.此功能可用于在任何视图上
..
目标: 创建可绘制和缩放的图像视图, 这意味着当我将按钮按下到on时,它是可绘制的, ,或者当我关闭电源时,它是可缩放的. *请注意,图纸应缩放以与imageview对齐 ================================================ ================ 最近,我编写了一个自定义可绘制图像视图,如下所示:
..
我正在尝试使用Canvas更改形状和文本的交集颜色. 这没有任何PorterDuffXfermode,并且PorterDuffColorFilter模式已添加到任何绘画中.我希望形状的交集是特定的颜色,例如白色,而文本则是红色或白色,如下图所示. 在我的示例中,文本位于底部,中间的圆圈和上方的矩形,但是它并不重要,我只是想弄清楚它是如何工作的,以及应该如何将交集设置为特定的颜色. 如您
..
如何使创建的位图可点击? 下面是我用来使用画布创建位图的代码. public class DrawView extends View implements OnClickListener { public DrawView(Context context) { super(context); paint = new Paint();
..
我有一些静态图像,如下所示: 现在,我要的是,当我触摸脸部或手部时,所选的颜色应该填充在该皮肤部分上. 请参见下面的结果图片: 那么如何获得上面的结果呢? 重做和撤消功能也应该存在. 我尝试过使用FloodFill颜色,但这样做只能对垂直部分进行着色.因为FloodFill仅填充颜色,直到出现相同的pixwl颜色为止.如果触摸位置的像素颜色发生变化,它将不会在其上填充颜色.
..
public class POCII extends Activity { myView mv = new myView(this); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s
..
我找到了一个将所有4个角都圆化的矩形的函数,但我想只将顶部2个角圆化.我该怎么办? canvas.drawRoundRect(new RectF(0, 100, 100, 300), 6, 6, paint); 解决方案 您可以使用Canvas中的drawLine()和drawArc()函数逐段绘制.
..
我希望LogCat可以多次记录#onPreviewFrame(),但是它只能在以下选定的设备上运行: 三星Galaxy S6(7.0) 三星Galaxy S6(6.0.1) LG Leon(5.0.1) 但不能在以下设备上使用: LG G4(6.0) 华为6X(7.0) Nexus 6P(7.0) 下面是代码段: public CameraSurfaceVie
..
我正在制作一个基于相机的应用程序,在该应用程序中,我在相机上放置了一个矩形视图. 当我使用new Camera.PictureCallback()捕获图像时,我对该图像进行了裁剪,以便获得矩形的一部分. 好吧,它的工作正常. 现在,我实现了View.OnTouchListener,并使用它使形状可移动. 因此,我需要使用用户的最终选择来捕获图像,就像他们放置矩形的位置一样. Bitma
..
本机Android视图(View类及其扩展的所有内容,即TextView,ImageView等...)是否在后台使用OpenGL? 如果没有,那么将OpenGL用于普通的Android开发人员,相对于将常规视图用于自定义UI组件,有什么优势吗? 解决方案 原生Android视图(View类及其扩展的所有内容,即TextView,ImageView等)是否在后台使用OpenGL?
..
我已经构建了一个应用程序,可以将带有边界的文字绘制到画布上,然后将其用作位图并放入Google地图标记中. 我现在想做的是删除文本边界,而是在文本后面创建一个实心的黑色矩形背景.我尝试了几件事,但似乎无法在屏幕上显示任何内容. 到目前为止的代码: String text = "testText"; //create bitmap Bitmap
..
我的应用程序在牛轧糖模拟器和许多设备上都运行良好,但是我在Google Play崩溃报告器中发现了此异常,我不知道为什么会发生,该异常仅在牛轧糖设备++上引起. 例外: java.lang.RuntimeException: at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:
..
每次重新绘制SurfaceView时,都会删除以前绘制的内容.如何保存它们的状态,以便我的循环将新对象添加到屏幕上而不删除旧对象? 解决方案 使用Bitmap绘制: Bitmap mDrawBitmap; Canvas mBitmapCanvas; Paint mDrawPaint = new Paint(); @Override public void onDraw(Canvas
..
我是android的新手.我正在尝试绘制此图像(匹配统计信息) ,然后用10%到100%的颜色填充图像.我做了很多尝试,这就是图片 这是代码 public class DrawView extends View { Paint paint = new Paint(); public DrawView(Context context) { super(context); } @Ov
..
我正在拍摄图像,并使用画布将其绘制到屏幕上.我想根据屏幕尺寸缩放它. 这是我尝试过的方法,但它会切掉大部分图像: DisplayMetrics metrics = context.getResources().getDisplayMetrics(); int width = metrics.widthPixels; int height = metrics.heightPixels;
..
我使用异步任务在视图上绘制位图,但是什么也没画! 这是asynctask代码 class BitmapWorker extends AsyncTask { private Canvas canvas; private Rect rcText; private Paint paint; private Options
..
我需要捕获标记才能在Android的画布上绘制图形,其效果就像下面的gif: 到目前为止,我可以使用 ValueAnimator 以恒定的速度绘制侧面.但是,我一次只能绘制一个侧面,因为在绘制下一个侧面时我无法保存最后一个侧面.那么,有没有解决这个问题的好方法? ValueAnimator缓慢画线的代码: GraphicsView.java public class Gra
..
假设我必须在画布上绘制3D形状的两个面.在OpenGL中,我们使用顶点的顺时针和非顺时针顺序来检测正面是正面,背面是正面,但是我不能使用OpenGL ,而我将使用画布.看来,如果我们先在脸部后面绘制,然后再在其前面绘制,它就会隐藏在脸部后面,但是我的3D形状会旋转,并且每个脸部有时必须在前面,而某些时候必须在后面. 我的问题是:当形状旋转时,如何检测女巫的脸在前面?还是其他任何方法可以将当前
..
我有一个自定义的view,它显示一个drawable并检测触摸.它具有许多drawable层,其中一些包含文本,例如, 我已将每个SVG矢量图形转换为vector drawable,并希望能够将文本设置为资源,以便我可以替换不同的翻译. 上面"Hello box"的SVG xml代码:-
..
我想使用渐变填充使用画布绘制圆弧.如何做到这一点? 解决方案 嘿,我从这里偷了这个东西:但是效果很好,我改用LinearGradient. Shader gradient = new SweepGradient (0,getMeasuredHeight()/2, Color.RED, Color.WHITE); lightRed.setShader(gradient); canvas
..