Articles of graphics

在视图上启用硬件加速的情况下,在矩形覆盖图中打孔

我有一个观点,做一些基本的绘画。 在此之后,我想绘制一个打孔的矩形,以便只有以前绘图的一个区域是可见的。 我想这样做的硬件加速启用我的观点,以获得最佳性能。 目前我有两种方法可以工作,但只有在禁用硬件加速和另一种太慢时才起作用。 方法1:SW加速(慢速) final int saveCount = canvas.save(); // Clip out a circle. circle.reset(); circle.addCircle(cx, cy, radius, Path.Direction.CW); circle.close(); canvas.clipPath(circle, Region.Op.DIFFERENCE); // Draw the rectangle color. canvas.drawColor(backColor); canvas.restoreToCount(saveCount); 这不适用于为视图启用硬件加速,因为在这种模式下不支持“canvas.clipPath”(我知道我可以强制SW渲染,但我想避免这种情况)。 方法2:硬件加速(V慢) // Create a new canvas. final Bitmap b = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888); final Canvas c = new Canvas(b); // Draw the rectangle colour. […]

ActionBar标志居中,双方的行动项目

我怎么能做一个行动栏,在这个中心有两个标志? 我将使用ActionBar Sherlock。

将图像叠加到相机预览SurfaceView上

我有一个用于绘制图像的SurfaceView ,我想将它们叠加到手机相机的实时反馈上。 目前,包含图像的SurfaceView有一个白色背景,但如果我将它们覆盖到手机的摄像头上,它们必须是透明的。 相机和animation绘图不能在同一个SurfaceView 。 追求使用涉及pipe理相机和绘制图像的多个视图的最佳方法是什么? 是否有可能使SurfaceView透明?

如何在Android 2.2.2(Froyo)中使用BitmapRegionDecoder代码?

我正在阅读关于SO 的另一个问题的答案 ,其中@RomainGuy评论说,可以(请更正我,如果我不正确地解释)从较新版本的Android到早期版本的后端代码。 具体来说,我感兴趣的是从Android 2.3.3(姜饼)到2.2.2版本(Froyo)的BitmapRegionDecoder的代码。 我宁愿更普遍地问这个问题,最好的做法是什么?在将代码从较新版本的Android移植到旧版本时应该避免什么,但是stackoverflow暗示我的问题可能因为太主观而被封闭。 也许如果有足够的兴趣在这个话题,这个问题可以被“变形”成一个更一般的..可能是一个社区维基? 在任何情况下,我将不胜感激任何洞察到如何做到这一点。是否具体到我的用例,或更一般的build议。 在java类中调用本地方法是否会使事情复杂化(必然涉及到NDK)? 如果确实有可能(也是合理的)以这种方式挑选和回传代码,我想很多人会发现知道如何是非常有用的。

Android SurfaceFlinger

我只想问一下,如果SurfaceFlinger总是被调用到屏幕上的任何types的绘图? 例如,在屏幕上显示JPG文件。

在Android中使用Matrix缩放和旋转位图

我试图缩放和旋转单个操作之前creting最后的位图,但preRotate,postConcat似乎并没有工作。 Bitmap bmp = … original image … Matrix m = new Matrix() m.setScale(x, y); m.preRotate(degrees, (float) width / 2, (float) height / 2); Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), m, true); 它只适用于规模而不是旋转。