10得票2回答
安卓:使(dirty)失效

似乎Android非常不喜欢invalidate (Rect dirty),它用于仅使画布的一部分无效。当我使画布的一部分无效(如下图中绿色所示),同时需要重新绘制位于画布之外的一个ToggleButton时,整个红色区域都会被擦除!似乎Android只是使包围两个需要重新绘制的区域并集的最小...

11得票1回答
在Android中绘制圆形内的弧形

我正在尝试在圆形内绘制一条弧线来表示温度,但我很难做到。在搜索中,我找到了以下解决方案: 这个我不理解scale方法是什么,而且绘制的是多个弧线,有些让我困惑 这篇文章里面给出了一个固定的大小,而我需要在XML布局中自定义视图控制大小 从这里我理解了角度的概念,但我并不知道如何确定椭圆的...

111得票21回答
Android,画布:如何清除(删除)位于surfaceView中的画布(=位图)内容?

为了制作一个简单的游戏,我使用了一个模板来绘制带有位图的画布,就像这样: private void doDraw(Canvas canvas) { for (int i=0;i<8;i++) for (int j=0;j<9;j++) ...

13得票2回答
从WebView获取位图会导致OutOfMemory崩溃

我有一个自定义的WebView,我想获取其内容(包括屏幕外部分)的位图。 我使用了这段代码,它来自这里: public static Bitmap getBitmapFromWebviewV2(WebView webView) { webView.measure(View.Measur...

15得票4回答
在某些设备上,SurfaceHolder.setFormat(PixelFormat.RGBA_8888) 失败,而在其他设备上则没有失败。

我有一个游戏应用程序,其视图结构如下。首先,我有一个空的FrameLayout,如下所示:FrameLayout game_frame_layout = new FrameLayout(getApplicationContext()); 然后我像这样为其添加了两个视图:game_frame_l...

28得票3回答
Android中的BlurMaskFilter在canvas.drawOval中没有效果,而文本却模糊了。

我一直在尝试创建一个自定义视图,其中文本下方有模糊的形状。问题是,BlurMaskFilter对我在画布上绘制的任何形状都没有影响。以下是我在构造函数中初始化Paint对象的方式:paint = new Paint(0); paint.setColor(0xffffffff); paint.s...

64得票11回答
在Android画布上如何在图片上绘制透明圆形

我正在创建一个像素猎人游戏,我的活动显示一个ImageView。我想创建一个提示“展示物体的位置”。为此,我需要模糊整个图像,除了物体所在点周围的圆形区域外。而我可以显示一个半透明的黑色背景来代替模糊效果。 在Canvas上绘制半透明矩形没有问题,但是我不知道如何从中裁剪出透明的圆形。 结果应...

65得票3回答
安卓画布:如何根据宽度设置字体大小?

我想使用 .drawtext 在指定宽度的 canvas 上绘制文本。 例如,文本的宽度应始终为 400px,无论输入的文本是什么。 如果输入的文本较长,则会减小字体大小;如果输入的文本较短,则会相应增大字体大小。

27得票3回答
在画布上的图像转换为JPEG文件

我正在画2D图像在画布上。 我想要将画布上显示的图像保存为JPEG文件,我该怎么做?

65得票3回答
Android的(2D)画布绘制流程中的各个部分是如何组合在一起的?

我希望更好地了解Android(2D)画布绘制管道的组件如何配合使用。 例如,XferMode、Shader、MaskFilter和ColorFilter如何交互?这些类的参考文档非常简洁,而Canvas和Paint的文档并没有提供任何有用的解释。 对于具有内在颜色的绘图操作(例如:dra...