Articles of android canvas

在Eclipse中进行debugging时,可以快速查看canvas/位图

有没有办法在Eclipse上debuggingcanvas/位图? 我想知道,如果我可以查看当前的canvas/位图看起来如何在特定的行设置断点。

尽pipe设置属性,canvas绘图仍未正确绘制

我刚创build了2个图纸,试图让一个看起来像另一个,但我没有运气。 关于屏幕截图,顶部的graphics是使用canvas创build的,底部的graphics是使用XML创build的。 XML绘图是完美的,但不幸的是根据Android,我不应该使用它,因为它返回“太多的意见”的警告。 我已经尝试了以下方法的canvas绘图,但我仍然没有得到所需的结果。 我已经在十几个模拟器上testing了这个项目,尽pipeXML绘图有这么多的视图,但它们都只用了一秒钟就出现了。 根据设备的方向使用不同的图纸 使用浮点值而不是整数 调整浮点值多次 有谁知道有什么其他的select来解决这个令人讨厌的canvas问题,并确保canvas的绘制看起来与XML绘图完全一样,无论屏幕大小和方向? 在这种情况下,还应该忽略“太多的意见”的警告和/或我把查看次数限制增加到80以上? 所有相关的帮助将不胜感激。 Java代码 http://pastebin.com/VXgkJR2Z XML代码 http://pastebin.com/JyVvxS5n

Android Canvas中的复合操作

我刚刚开始使用Android开发,我来自JavaScript / HTML世界,所以我目前正在研究Android SDK的可能性。 HTML 5canvas支持复合操作(请参见此处 )。 这可能在Android的canvas? 我扫描了Canvas类的API,但找不到任何有用的东西。 我至less需要复合操作“源代码”或(如果这是不可能的)“源头”。

在Android中使用canvas和位图,如何获得这个图像?

我在android中是新的。 我想绘制这个图像(匹配统计) 并用10%到100%的颜色填充图像。 我试了这么多,这是形象 这是代码 public class DrawView extends View { Paint paint = new Paint(); public DrawView(Context context) { super(context); } @Override public void onDraw(Canvas canvas) { paint.setColor(Color.BLACK); paint.setStrokeWidth(3); canvas.drawRect(30, 30, 100, 100, paint); paint.setStrokeWidth(0); paint.setColor(Color.GRAY); canvas.drawRect(33, 60, 97, 97, paint); paint.setColor(Color.WHITE); canvas.drawRect(33, 33, 97, 60, paint); } 任何build议对我来说都是很有帮助的。 提前致谢。

canvas捏放大到点在边界内

我一直被困在这个问题上八个小时,所以我觉得是时候得到一些帮助。 在开始我的问题之前,我只会让我们知道,我已经通过这个网站和谷歌,我没有find任何答案帮助。 ( 这是另一个 , 另一个 。) 这里的处理:我有一个扩展SurfaceView的类(让我们称之为MySurface ),并覆盖其中的许多方法。 通常情况下,它画几个方块和文本框,这是很好的。 只要用户开始触摸,它就会转换为Bitmap ,然后绘制直到用户释放的每个帧。 以下是我想要实现的function:用户可以将两根手指放在屏幕上,捏放大,也可以平移(但只有两根手指向下)。 我发现了一些捏到缩放的实现,并通过以下方法将它们调整到MySurface Canvas对象: public void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.save(); canvas.scale(mScaleVector.z, mScaleVector.z); // This is the scale factor as seen below canvas.translate(mScaleVector.x, mScaleVector.y); // These are offset values from 0,0, both working fine // Start draw code // … // End draw code […]

Android – 在canvas上淡出位图图像

我正在绘制缩放的位图到canvas上,并希望在特定的时间淡出我的图像。 基本上,当我的angular色图像超过了canvas的某个部分时,我需要angular色图像慢慢消失(3秒),然后页面自动redirect到下一个Java类。 目前,我的图像只是redirect到新的Java类,请参阅下面的代码来创build我的图像。 Resources res = getResources(); float px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 20, res.getDisplayMetrics()); imgSpacing = (int) px / 2; int size = (int) ((PhoneWidth / 5) – px); chrImg = BitmapFactory.decodeResource(getResources(), R.drawable.character); chrImg = Bitmap.createScaledBitmap(chrImg, size, size, true); 然后在canvas上的onDraw: if(indexX == mazeFinishX && indexY == mazeFinishY) { canvas.drawBitmap(finish, j * totalCellWidth, i * totalCellHeight, null); […]

在Canvas中setDither,setFilterBitmap和setAntiAlias是什么?

通常我看到的样本,当试图在canvas上绘制位图时使用这个方法。 例如 : paint.setAntiAlias(true); paint.setFilterBitmap(true); paint.setDither(true); 但是我不知道这三种方法是什么呢?当我必须使用它们的时候呢?

自定义ImageView类不能与Picasso图像下载库一起使用

我最近从一个ImageView扩展到创build一个CircularImageView类,使图像的圆形彩色边框。 这是通过绘制在传入的canvas上通过onDraw(canvas)方法完成的: //load the bitmap loadBitmap(); // init shader if(image !=null) { shader = new BitmapShader(Bitmap.createScaledBitmap(image, viewWidth + (borderWidth * 2), viewHeight + (borderWidth * 2), true), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); paint.setShader(shader); int circleCenter = viewWidth / 2; // circleCenter is the x or y of the view's center // radius is the radius in pixels of […]

使用移动手势绘制矩形

我正在尝试创build一个矩形,但是这是当我从开始坐标移动到结束坐标时发生的情况 ,实际上我想显示用户从一个点到另一个点的进度。这就是我想要的。 。 码:- public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: downx = event.getX(); downy = event.getY(); //v.invalidate(); break; case MotionEvent.ACTION_MOVE: upx = event.getX(); upy = event.getY(); canvas.drawRect(downx, downy, upx, upy, paint); } choosenImageView.invalidate(); break; case MotionEvent.ACTION_UP: upx = event.getX(); upy = event.getY(); canvas.drawRect(downx, downy, upx, […]

在angular度canvas上的文字

我如何在canvas上绘制文本,如下图中Green rectangle突出显示。 我做了下面的代码….但是从这个代码我可以straight写文本。 不能写angle文字。 Bitmap bmpLayered = Bitmap.createBitmap(bmpMain.getWidth(), bmpMain .getHeight(), Bitmap.Config.ARGB_8888); Canvas cv = new Canvas(bmpLayered); Paint charPaint = new Paint(); charPaint.setAntiAlias(true); charPaint.setStyle(Paint.Style.FILL); charPaint.setTextSize(24); charPaint.setColor(Color.BLACK); charPaint.setStrokeWidth(3); cv.drawText("None", 570, 222, charPaint); 请帮我解决这个问题。 谢谢。