草庐IT

Canvas-EventSystem-Panel

全部标签

Android Canvas Clear 透明

我正在尝试从Canvas上“删除”。就像清除Canvas的非常简单的测试一样,我实现了以下内容:@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);canvas.drawColor(Color.argb(140,0,0,0));canvas.drawColor(0,Mode.CLEAR);}Color.argb(140,0,0,0)将此View绘制到的View设置为变暗。drawColor(0,Mode.CLEAR)使屏幕完全变黑,而不是移除之前应用的调光。Theideawastakenfromhere

java - 在 Canvas 上绘制一个缩放的位图?

以下代码定义了我的位图:Resourcesres=context.getResources();mBackground=BitmapFactory.decodeResource(res,R.drawable.background);//scalebitmapinth=800;//heightinpixelsintw=480;//widthinpixels//MakesurewandhareinthecorrectorderBitmapscaled=Bitmap.createScaledBitmap(mBackground,w,h,true);...下面的代码用于执行/绘制它(未缩放的位

android - 如何在android的 Canvas 内对齐位图?

我在Canvas上有一个位图。我需要将位图对齐到Canvas的中心(图像的中心应该在Canvas的中心。在我的要求中,不应该给定点来对齐位图)。而纵向View如何缩放Canvas和图像以适应分辨率?publicvoidonDraw(Canvascanvas){Bitmapimgtable=BitmapFactory.decodeResource(getResources(),R.drawable.table_01);canvas.drawColor(Color.TRANSPARENT);canvas.drawBitmap(imgtable,10,10,null);}

java - 如何使用 Android Canvas 将图像从一个点移动到另一个点

我正在开发一款游戏,在这个游戏中,我必须将Canvas上的图像从一个点沿任意方向移动到另一个点,而不仅仅是垂直或水平。如何以这种方式移动该图像? 最佳答案 上完数学课后,发现这很容易解决。首先,我们需要获取目标移动的角度。floatdeltaX=targetX-startX;floatdeltaY=targetY-startY;floatangle=Math.atan2(deltaY,deltaX);startX/Y可以是当前X/Y。现在我们已经计算了角度,我们可以将它应用到当前坐标:currentX+=speed*Math.cos

Android:Canvas.DrawBitmap VS Drawable.Draw - 巨大的性能提升

我刚刚发现了一些东西,我想知道如何以及为什么。我正在为Android开发一款小型街机游戏。我决定忽略OpenGL并使用标准的SurfaceView和Drawables来完成它,因为它应该很轻(大约10个Sprite)。我有我加载的可绘制对象,我使用方法Draw并将它们传递给我的Canvas。这就是每个Sprite被绘制到屏幕上的方式。事实证明,在非全新手机型号上绘制4-5个大Sprite(200X400左右)需要很长时间。足够长的时间让我的游戏无法玩。我们正在谈论使用此方法绘制单个帧需要50-60毫秒。除了画画,我真的什么都不做,我无处可以削减成本。所以我决定尝试使用位图。然而,在这里

android - dispatchDraw(Canvas Canvas )的使用

ViewGroup类中的dispatchDraw(Canvascanvas)方法有什么用?? 最佳答案 来自Android文档-protectedvoiddispatchDraw(Canvascanvas):Calledbydrawtodrawthechildviews.Thismaybeoverriddenbyderivedclassestogaincontroljustbeforeitschildrenaredrawn(butafteritsownviewhasbeendrawn).

android Paint.setShadowLayer() vs Canvas.drawbitmap() 问题

我在自定义View的onDraw期间使用以下代码绘制位图Paintp=newPaint(Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG);p.setShadowLayer(3,3,3,0xff000000);Bitmapbmp=BitmapFactory.decodeResource(somedrawablejpg);canvas.drawBitmap(bmp,null,newRect(blahblah),p);而且阴影看起来很有趣。我好笑是什么意思?我的意思是,如果我调用canvas.drawRect(),我会得到不同的阴影。看起来有点像

android - 在 Canvas 上绘制虚线

如何在Canvas上绘制虚线。我已经试过了:PaintdashPaint=newPaint();dashPaint.setARGB(255,0,0,0);dashPaint.setStyle(Paint.Style.STROKE);dashPaint.setPathEffect(newDashPathEffect(newfloat[]{5,10,15,20},0));canvas.drawLine(0,canvas.getHeight()/2,canvas.getWidth(),canvas.getHeight()/2,dashPaint);它给我的不是虚线,而是一条简单的。

android如何在canvas半透明上绘制位图

我尝试修改Paint变量,但没有成功-如何使位图显示为“半透明”? 最佳答案 canvas.drawColor(Color.WHITE);BitmapDrawablebd=(BitmapDrawable)getResources().getDrawable(R.drawable.loading);Bitmapbm=bd.getBitmap();Paintpaint=newPaint();paint.setAlpha(60);//youcansetyourtransparentvalueherecanvas.drawBitmap(bm

android - 如何在 android Canvas 上绘制实心三角形

我有扩展View类的MyView类。MyView应该绘制实心三角形。我画了一个三角形,但我不能把它填满。这是我的onDraw()方法:@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);Paintpaint=newPaint();paint.setColor(android.graphics.Color.BLACK);canvas.drawPaint(paint);paint.setStrokeWidth(4);paint.setColor(android.graphics.Color.RED);paint.s