草庐IT

Wxml2Canvas

全部标签

android - Canvas.drawBitmap() 忽略绘画的平铺模式

我想绘制位图的子部分,但大小不同。如果大小大于位图中的源矩形,那么我希望位图的该部分平铺以填充目标区域。然而,它们并没有平铺,而是被拉伸(stretch)了。我将所有变量设置如下:Bitmapb=BitmapFactory.decodeResource(getResources(),R.drawable.image);RectsrcRect=...RectdstRect=...Paintp=newPaint();p.setShader(newBitmapShader(b,Shader.TileMode.REPEAT,Shader.TileMode.REPEAT));然后在draw()方

android - 将 Canvas 转换为 Drawable

intx=10;inty=10;intr=4;PaintmPaint=newPaint();mPaint.setColor(0xFF0000);CanvasmCanvas=newCanvas();mCanvas.drawCircle(x,y,r,mPaint);有什么方法可以将mCanvas转换为Drawable?我的目标是生成具有特定形状和颜色的可绘制对象。谢谢 最佳答案 对于像圆圈这样的简单形状,我认为ShapeDrawable会更容易。对于更复杂的事情,只需创建一个Bitmap供您的Canvas使用,然后创建Canvas并在其

Android Canvas 到位图

我一直在网上搜索如何将Canvas上的内容转换为位图。我尝试了多种方法来做到这一点,比如将绘图缓存保存到位图中,但最终结果是背景位图闪烁了一会儿,然后变成黑屏。测试图像显示在背景之上,但在下次调用OnDraw时不会被背景覆盖。MainThreading{...if(notuptodate==true){//callreadyBackgroundtocreatethebackgroundbitmapthis.mainPanel.readyBackground(canvas);//postthecanvassurfaceHolder.unlockCanvasAndPost(canvas);

android - 将动画 gif 作为电影播放仅显示 Canvas 背景

我想在我的Android应用程序中播放动画gif。我注意到WebView可以很好地处理这段代码:webview.loadUrl("file:///android_asset/gif.gif");不幸的是,webView太占用内存,我的应用经常崩溃。我看过很多像这样使用Movie的教程:publicclassGIFViewextendsView{privateMoviemovie;privatelongmoviestart;publicGIFView(Contextcontext)throwsIOException{super(context);movie=Movie.decodeStr

android - 如何在单击按钮时清除android中的 Canvas

importandroid.content.Context;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.graphics.Path;importandroid.util.AttributeSet;importandroid.view.MotionEvent;importandroid.view.V

java - Canvas 对象必须与之前由 lockCanvas 返回的实例相同

我有一个自定义的SurfaceView,它带有绘制背景和位图的方法doDraw()。问题是当我运行它时出现错误Causedby:java.lang.IllegalArgumentException:canvasobjectmustbethesameinstancethatwaspreviouslyreturnedbylockCanvas我不明白为什么会这样。我没有在我的代码中的任何其他地方声明任何其他Canvas。我只有另外两个类,MainActivity和SurfaceViewExample。MainActivity只是有一个打开SurfaceViewExample的Intent,而

android - 如何从 SurfaceView 绘制到 Canvas?

我正在尝试做简单的画家。问题貌似Android有3个独立的Canvas给我顺序画。我用SurfaceView制作了UI,从中取出了Holder。@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sv=(SurfaceView)findViewById(R.id.sv);holder=sv.getHolder();holder.addCallback(callback);}然后拿

android - catch "RuntimeException: Canvas: trying to draw too large..."

我有一个应用程序,它从文件系统绘制图像到屏幕,如下所示:Bitmapimage=BitmapFactory.decodeFile(file.getPath());imageView.setImageBitmap(image);如果图像非常大,我会看到此错误:java.lang.RuntimeException:Canvas:tryingtodrawtoolarge(213828900bytes)bitmap.atandroid.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)atandroid.gr

Android 4.0 与 Canvas.clipPath 的兼容性问题

最近我的应用程序收到了很多评论,说“它在带有CM9的AndroidIceCreamSandwich上不工作”。我无法在运行Android4.0的模拟器上重现错误,并且由于androidmarket的工作方式,我无法联系那些人询问详细信息。幸运的是,一份崩溃错误报告引起了我的注意。我正在使用Canvas.clipPath绘制圆角...看起来有些手机在尝试使用该功能时抛出UnsupportedOperationException。快速查看Google发现在Android4.0中使用硬件加速时似乎存在问题-因此这是收到评论的潜在原因。问题是-发生了什么事?在以前的Android版本中,应用程

android - 捕获部分 Canvas 以将其用作位图

我正在做一件事情,我想把Canvas的一部分用作位图.在这里我附上了图片。我想要一个矩形的位图核心(它有Stork)这是我的程序的算法。1:创建Canvas。2:在Canvas上画一个颜色选择器。3:在Canvas上画一个矩形。现在我想将这个矩形用作位图..那么有什么方法可以使用Canvas捕捉位图吗?(我听说过Pictureclasstocaptureacanvas,我不知道它与这个场景相关). 最佳答案 所有Canvas都是位图的包装器,它公开了有用的绘图功能。因此,您可以创建一个带有位图的Canvas,然后对该位图调用crea