草庐IT

Canvas-EventSystem-Panel

全部标签

android - 缩放位图以适合 Canvas

我试图在机器人上编写游戏,我处理不同屏幕分辨率的方式是制作目标分辨率(320x480)的位图,从中制作Canvas并使用固定坐标在其上绘制所有元素,然后我只是在surfaceViewCanvas上绘制这个位图,它会在不同的屏幕上重新缩放。问题是,当我在我的框架上绘制东西时,即使框架与位图的大小相同,位图也会超出范围。(位图为320x480,它被拉伸(stretch)并且不适合屏幕)这是代码:publicclassGraphics{privateBitmapframeBuffer,grid;privateCanvascanvas;publicGraphics(Contextcontext

android - 将 Canvas 路径保存到 SharedPreference 并在重新打开应用程序时在 Canvas 上重绘

我有一个自定义View,用于在Canvas上绘制不同尺寸和图像。这很棒。所以每次我画东西时,我都会将这些信息添加到actionList中。当用户退出应用程序时,我将此actionList作为字符串保存到sharedPreference。当用户重新打开应用程序时,我正在获取此数据并使用Gson将其转换回Listprevious_drawn_paths并以此更新actionList。当我执行此操作时出现段错误,但存在数据和内存引用。我也附上了代码和墓碑logcat。绘图View.javapublicclassDrawingViewextendsView{publicenumType{PAT

android - SIGSEGV in Canvas.clipPath 在第二个 clipPath

我有一台运行Android4.2.2的ASUSNexus7我的应用程序在运行以下代码时在sk_malloc_flags中生成一个SIGSEGV:staticPicturecreateDrawing(){PathfirstPath=newPath();firstPath.moveTo(3058,12365);firstPath.lineTo(8499,3038);firstPath.lineTo(9494,3619);firstPath.lineTo(4053,12946);firstPath.close();PathfourthPath=newPath();fourthPath.mov

android - 如何在 Canvas 上裁剪选定区域的位图?

我正在制作一个应用程序,我最近3天无法尽可能多地使用谷歌。我在Canvas上画了一个圆圈,想裁剪该部分的图像并以缩放模式显示该图像。我的第一步就像屏幕在这里:-在此我选择区域。这是我为此使用的代码。privatefloatx,y;privatebooleanzooming=false;privatePaintmPaint;privateMatrixmmatrix;privateShadermShader;privateBitmapmBitmap;privateListmpoints;privateListmpointlist;privatePathmpath;privateCanvas

Android Canvas 填充背景色(Canvas应用)

通过以下代码,我有一些问题。publicclassMainActivityextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(newView(this){PaintmPaint=newPaint();@OverrideprotectedvoidonDraw(Canvascanvas){//TODOAuto-generatedmethodstubsuper.onDraw(canvas);intwidth

java - Android Canvas 中的复合操作

我刚刚开始Android开发,我来自JavaScript/HTML世界,所以我目前正在研究AndroidSDK的可能性。HTML5Canvas支持复合操作(参见here)。这在AndroidCanvas中可行吗?我扫描了Canvas类的API,但找不到任何有用的东西。我至少需要复合操作“source-in”或(如果这不可能)“source-atop”。 最佳答案 通过使用PorterDuffXfermode的Paint在Canvas上绘制来处理合成。Paintp=newPaint();p.setXfermode(newPorterD

安卓 : Bitmap : How to save canvas with green background in android?

我正在使用位图创建数字签名图像。在设备上存储签名时,只有签名以黑色背景存储。我想要带有签名的绿色背景。这是我的位图代码//BitmapViewpublicclassMyViewextendsViewimplementsOnClickListener{publicintheight;publicintwidth;privateBitmapmBitmap;privatePathmPath;privatePaintmBitmapPaint;publicMyView(Contextc){super(c);mPath=newPath();mBitmapPaint=newPaint(Paint.D

Nexus 7 上的 Android 4.2 : canvas. drawText() 无法正常工作

我的应用程序在GooglePlay上发布并且显然在除4.0以上版本以外的所有Android版本上都运行良好。这是我的Android4.0HTC手机的屏幕截图:这就是我在Nexus7、Android4.2.1上得到的结果(模拟器中的行为相同):我看到使用canvas.drawText()绘制的每个文本都有相同的行为用来绘制文字的Paint是:paint=newPaint();paint.setAntiAlias(true);paint.setColor(color);//somecolorpaint.setTextSize(size);//somesizepaint.setTypefac

android - Android 中的 Sprite 旋转使用 Canvas.DrawBitmap。我很接近,我做错了什么?

我有这个sprite旋转算法(它的名字不好,只是用于测试)。它是如此接近,用它绘制的Sprite确实会旋转。每一帧我都可以增加+5度并看到我漂亮的小Sprite旋转。问题是,绘制到Canvas上的其他内容现在会闪烁。如果我不进行旋转,则常规绘制的Sprite效果很好。我想我很接近,但我只是不知道我错过了什么。下面是我的两个“Draw_Sprite”方法,一个只是将先前加载的资源位图绘制到传入的Canvas上。另一个,做一些旋转我知道如何将Sprite旋转这么多度数..然后绘制它.如果我有一个很好的游戏循环来绘制多个对象,一种类型是旋转的。然后非旋转的Sprite闪烁,而旋转的Sprit

android - 在矩形外填充 Canvas

我想填充Canvas上矩形以外的区域。我用canvas.drawRect(pTopLeft.x,pTopLeft.y,pBotRight.x,pBotRight.y,paint);绘制矩形,但无法弄清楚如何在矩形/剪辑之外进行填充。谢谢杰夫 最佳答案 感谢ted和trojanfoe-我想出的最巧妙的解决方案是PointpTopLeft=newPoint();PointpBotRight=newPoint();//TODO:setx,yforpointsRectrHole=newRect(pTopLeft.x,pTopLeft.y,p