草庐IT

canvas_comment

全部标签

android - 在 Android 的 Canvas 上绘制 GridView

我正在尝试在Android应用程序的Canvas上绘制GridView,如下所示,但屏幕上没有显示任何内容。intwidth=400;intheight=400;privateString[]numbers={"1","2","3","4","5","6"};Bitmapbitmap=Bitmap.createBitmap(width,height,Config.RGB_565);Canvascanvas=newCanvas(bitmap);canvas.drawColor(Color.YELLOW);GridViewgridview=newGridView(MainActivity.

android - android canvas 中位图的同步旋转、平移和缩放

我正在尝试显示一张图片,它可以缩放和平移,并且随着罗盘读数旋转。使用下面的代码,所有三个操作都可以正常工作,但它们会相互影响。这是我想要实现的目标:1.围绕屏幕中心旋转2.将图片的同一部分居中缩放3.平移到图片中需要的位置下面是代码实际发生的情况:1.旋转按预期进行,围绕屏幕中心2.缩放有效,但它围绕图片中心缩放3.只有当angle为零时,翻译才会按预期进行,否则它会朝着错误的方向移动//thecenteroftheviewportfloatcenterX=screen.right/2;floatcenterY=screen.bottom/2;Matrixm=newMatrix();m

android 使用 XML 布局中的 View 来绘制 Canvas

所以基本上我想使用xml布局,但我还想要一个可以执行图形的Canvas。我所做的是在我的xml布局中创建一个View,如下所示。然后在我的应用程序中,我让View绘制了Canvas,但它不起作用。我不确定我解决这个问题的方法是完全错误的还是什么。因此,请看一下我的代码,然后告诉我您是否看到了快速修复或是否有更好的方法。提前致谢,我真的很感激。这是xml布局packagesm.view.test;importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Canvas;importandr

android - 如何在 Canvas 绘画中实现 UNDO 功能后更改绘画颜色/描边

在我的画图应用程序中,我实现了UNDO功能,并且运行良好。但是,如果更改画笔颜色(或)画笔笔触,那么我之前绘制的所有路径都会更改为新的画笔颜色。代码如下:publicclassCustomViewextendsViewimplementsOnTouchListener{publicCanvasmCanvas;privatePathmPath;publicPaintmPaint,mBitmapPaint;BitmapmBitmap;Canvascanvas;publicArrayListpaths=newArrayList();publicArrayListundonePaths=new

安卓自定义 View : Set canvas size to wrap bitmap

我有一个自定义View,其中包含Canvas。我正在使用此Canvas在其上显示位图,然后我可以在触摸时在位图上绘制。当我加载位图时,它比View大小大很多,我看不到整个位图(这是用相机拍摄的照片)。我尝试创建缩放位图,然后将其绘制在Canvas上,但在这种情况下,位图较小,Canvas占用了整个可用布局空间。我以编程方式添加此View,而不是xml布局。我已将其设置为View但无法正常工作:fdvImage=newImageEditingView(this,b);RelativeLayout.LayoutParamslp=newLayoutParams(LayoutParams.WR

android - onScale 和 Canvas - 如何在缩放图像后调整原点?

我有一个非常简单的带有自定义组件的测试应用MyView.java-显示可滚动和可缩放的图像(代表类似拼字游戏的文字游戏中的棋盘):1)在我的比例监听器中,我调整了比例因子:publicbooleanonScale(ScaleGestureDetectordetector){mScale*=detector.getScaleFactor();//XXXhowtoadjustmOffsetXandmOffsetY?XXXconstrainZoom();constrainOffsets();invalidate();returntrue;}2)然后在自定义组件的绘图方法中应用平移和比例因子:

android - VectorDrawableCompat和Canvas旋转,90/270度drawable消失

我正在尝试使用矢量绘图绘制到Canvas中。在我将Canvas对象旋转90或270度之前,一切都很好。我越接近90或270度,Canvas中显示的可绘制对象就越模糊。最后在90或270度时,Canvas上可绘制的矢量完全消失。是否有某种修复或解决方法?或者我应该使用svg和其他一些库来绘制Canvas吗?谢谢!代码如下:publicclassCanvasViewextendsView{privatestaticfinalStringTAG="CanvasView";privateVectorDrawableCompatvectorDrawableCompat;privateintang

java - Android:Canvas Arc,Sweep Gradient Start Angle可以改吗?

我正在尝试绘制一个由渐变填充的圆弧下图就是我想要的下图是我现在的样子正如你在图片中看到的,我的渐变开始得太早了我知道为什么会这样如果我完成圆弧形成一个圆,我会得到这个正如我们所见,渐变从90度开始。但是我的弧度是从135度画出来的,扫到270度我的问题是如何让渐变从135度开始扫到270度?可以吗到目前为止,这是我进行扫描渐变的方法publicvoidsetProgressColourAsGradient(booleaninvalidateNow){SweepGradientsweepGradient=newSweepGradient(baseArcRect.centerX(),bas

Android:有效地滚动 Canvas 的内容?

我想画一个实时更新的图(从右边增长)。我能想到的最有效的方法是复制x[0..width-2]左边1个像素的所有内容,然后在x[width-1]处绘制新值。我对Android没有多少经验,但据我所知,Canvas根本不对其内容进行操作。每次都需要重绘整个屏幕吗?这涉及缩放和平滑,所以我担心它会很慢。我是否应该绘制一个byte[][]然后使用它来绘制到屏幕上(每次都将缓冲区的内容向左移动)? 最佳答案 如果您的图形是有界的,请尝试将其全部渲染到一个图像中,然后将相关部分从该图像传输到您的Canvas中。尽量避免实际“移动”缓冲区中的像素

android - 如何使用 alpha 蒙版裁剪和填充 Canvas

我有一些.png图标是alpha蒙版。我需要使用AndroidSDK将它们渲染为可绘制图像。在iPhone上,我使用以下方法获得此结果,将“图像”alpha蒙版转换为使用黑色作为填充的“imageMasked”图像:CGColorSpaceRefcolorSpace=CGColorSpaceCreateDeviceRGB();CGContextRefcontext=CGBitmapContextCreate(NULL,thumbWidth,thumbHeight,8,4*thumbWidth,colorSpace,kCGImageAlphaPremultipliedFirst);CGR