草庐IT

Graphics

全部标签

android.graphics.BitmapFactory.nativeDecodeAsset( native 方法)中的 java.lang.OutOfMemoryError

我正在尝试在单击按钮时执行动画。步骤如下单击按钮..按钮图片改变动画播放显示下一个布局..但是我得到了一个内存不足的异常..当动画文件没有添加到项目时没有错误。但是自从加了动漫之后,问题就来了。我在这里使用了3个类文件(home_screen、button_anime和home)home_screen.java接收按钮点击信息,改变按钮图像并传递给button_anime类动画文件在button_anime.java中启动,动画播放后下一个布局从home.java显示日志猫如下..E/AndroidRuntime(1255):java.lang.OutOfMemoryErrorE/An

android - 使用 android.graphics.Path 从另一个形状中删除一个形状

我要绘制的内容如下:但是在箭头的中心使用加号而不是减号。我想从白色基础形状中减去“减号”。奇怪的是,这对减号来说效果很好,但如果我画一个加号,它就不会再减去它,而是将它添加到基础路径中。我的减号代码如下所示Pathbase=newPath();[...drawthearrow]Pathsubtract=newPath();subtract.moveTo(-xBarWidth/2,-xBarHeight/2);//centerthepathsubtract.rLineTo(xBarWidth,0);subtract.rLineTo(0,xBarHeight);subtract.rLine

XXHDPI 的 Android 图形

我将要调整适用于XXHDPI设备(如索尼xperiaZ和三星s4)的Android应用程序的所有可绘制对象。在通读了Google的文档、博客和SO之后,我对即将生成的图形感到困惑。我的担忧如下:谷歌states我不应该担心这种密度,因为它会放大XHDPI图形-以同样的方式,(在XXHDPI设备之前)为什么XHDPI图形的生产是必要的并且它没有放大HDPI图形?索尼remindsdevelopers不要在没有澄清这是否涉及对图形进行调整的情况下排除XXHDPI屏幕-我是否必须为XXHDPI重新设计所有图形元素?根据(2),SonyXperiaZUltra具有342dpi密度,但它被归类为

java - 如何锐化android中的图像?

我想锐化图像,我的代码如下:publicBitmapRuiHuaBitmap(Bitmapbitmap){intwidth,height;height=bitmap.getHeight();width=bitmap.getWidth();intred,green,blue;inta1,a2,a3,a4,a5,a6,a7,a8,a9;BitmapbmpBlurred=Bitmap.createBitmap(width,height,bitmap.getConfig());Canvascanvas=newCanvas(bmpBlurred);canvas.drawBitmap(bitmap

android - glClear()需要太长时间 - Android OpenGL ES 2

我正在使用opengles2开发一个android应用程序。我遇到的问题是,glClear()函数处理时间太长,以至于游戏在帧延迟时显得很紧张。使用计时探针运行程序的输出显示,虽然从Atlas设置所有顶点和图像只需不到1毫秒,glClear()需要10到20毫秒。事实上,清除通常占用总渲染时间的95%。我的代码基于常见教程,而Render函数是:privatevoidRender(float[]m,short[]indices){Log.d("time","--STARTRENDER--");//gethandletovertexshader'svPositionmemberintmP

安卓 canvas.scale(-1,1)

所以我的目标是水平翻转图像,然后将其绘制在Canvas上。目前我正在使用canvas.scale(-1,1),它可以有效地工作并水平绘制图像,但是它也会与x轴值发生关系,在比例之前,x位置将是150,之后我必须切换它到-150以在同一位置呈现。我的问题是,我怎样才能使x值在两种情况下都为150,而不必在缩放后调整x位置?有没有一种更有效的方法可以在不影响性能的情况下做到这一点? 最佳答案 我知道这个问题很老了,但我碰巧遇到了同样的问题。在我的情况下,在扩展ImageButton的类上绘图时,我不得不翻转Canvas。幸运的是,这个特

android - 绘制圆形扇形

我想画一个圆形扇形。我看到了here如何做一个圆圈,这是很明显的。绘制圆形扇形的最佳方法是什么?是否存在任何方法我应该做一些几何计算以便自己画出来 最佳答案 我假设您正在寻找类似canvas.drawArc()的内容? 关于android-绘制圆形扇形,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8445907/

Android & 从位图中剪切(删除)形状

如何从位图中剪切(删除)一个部分???我想要那个部分/形状被删除..保持透明代替部分..说形状是圆形还是方形.. 最佳答案 您应该可以使用Porter-Duff滤色器和Canvas执行此操作:publicvoidpunchHole(Bitmapbitmap,floatcx,floatcy,floatradius){Canvasc=newCanvas(bitmap);Paintpaint=newPaint();paint.setColorFilter(newPorderDuffColorFilter(0,PorderDuff.Mode

android - 在 Android 上动画绘制 Canvas 路径

我想为路径的绘制设置动画,即让它逐渐出现在屏幕上。我正在使用Canvas,到目前为止我最好的猜测是使用ObjectAnimator来处理动画。但是,我不知道如何在onDraw()方法中实际绘制相应的路径段。有没有一种方法可以做到这一点?我需要为此涉及路径效应吗?编辑:使用DashPathEffect并在动画中设置其“开”和“关”间隔以覆盖我们要为该步骤绘制的路径部分似乎在这里有效,但它需要为动画的每一步分配一个新的DashPathEffect。如果有更好的方法,我将保留这个问题。 最佳答案 回答我自己的问题,因为我想出了一个令人满意

Android:绘制到 Canvas ,使左下角对应于(0,0)的方法?

我正在尝试编写一个我可以在Android中使用的图形类(我知道存在预制类),但是转换我所有的坐标会很痛苦。有没有简单的方法让屏幕坐标从左下角开始? 最佳答案 不,我不知道有什么方法可以将0,0移动到左下角并获得您通常认为的“正常”坐标。但结合scale()和translate()可能会达到同样的效果。canvas.translate(0,canvas.getHeight());//resetwhere0,0islocatedcanvas.scale(1,-1);//invert 关于An