标签: android-canvas

如何在android中的特定位置绘制矩形

我正在尝试在矩形内绘制矩形。我希望孩子在父矩形的下侧绘制,但发生了相反的情况。实际上我发现,在canvas.drawRect内部没有特定的位置来决定在哪里绘制。可能是因为 android 中的新功能我错过了一些东西。这是我正在使用的 api-

canvas.drawRect(x+(x/3)+rM.x(), y/9, w-rM.width(), h/5, paint);
Run Code Online (Sandbox Code Playgroud)

按照获取和预期的屏幕截图

在此输入图像描述

以下是我得到的坐标 -

For bigger rectangle - 
x      - 234
y      - 89
width  - 593
height - 627


For smaller Rectangle
rm.x      - 39
rm.y      - 8
rm.width  - 49
rm.height - 30
Run Code Online (Sandbox Code Playgroud)

我用了这个公式——

canvas.drawRect(x+(x/3)+rM.x(), y/9, w-rM.width(), h/5, paint);
Run Code Online (Sandbox Code Playgroud)
  • {x,y,w,h>} 属于第一组数据
  • rm.{x,y,w,h} 属于第二组数据

java android android-canvas

1
推荐指数
1
解决办法
6353
查看次数

event.getX()和event.getRawX()之间的区别

event.getX()event.getRawX().之间的主要区别是什么 .使用哪种情况.event.getRawX()可以解释一下细节吗?

android android-canvas

1
推荐指数
1
解决办法
8944
查看次数

如何在Android中缩放路径?

在我的自定义视图中,用户可以绘制一些路径,然后将这些路径与背景位图合并,并将所有内容保存在 .JPG 文件中。问题是:如果我将位图缩放 2 倍,如何对路径进行相同的缩放?

谢谢你。

android android-custom-view android-canvas

1
推荐指数
1
解决办法
3387
查看次数

安卓反向剪辑

我需要指定一个矩形,Android 画布不能在其中绘制。我知道这clipRect将指定要绘制的区域,但我是否可以扭转这种效果。换句话说,我如何绘制一个对象,使其绘制到矩形的外部。图片说明:

剪辑示例

java android clip android-canvas

1
推荐指数
1
解决办法
2675
查看次数

如何在画布中旋转线条

目前我正在尝试旋转line我绘制的canvas. 我设法做到了,但是当我将它们旋转 360° 时,之前位置的线并没有消失,所以最后我得到的不仅仅是 1 条线,而是整个圆。

这是我的代码:

此代码段在应用程序启动时启动

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
height = displaymetrics.heightPixels;
width = displaymetrics.widthPixels;

imageView1 = (ImageView) findViewById(R.id.imageView1);
btn = (Button) findViewById(R.id.button1);

Bitmap.Config conf = Bitmap.Config.ARGB_8888; // see other conf types
bmp = Bitmap.createBitmap(width, height, conf); // this creates a MUTABLE bitmap
canvas = new Canvas(bmp);
p = new Paint();
p.setColor(Color.RED);
imageView1.setImageBitmap(bmp);
p.setStrokeWidth(5);
canvas.drawLine(0, height/2, width, height/2, p);
Run Code Online (Sandbox Code Playgroud)

而这件作品 - 每秒更新一次。

canvas.rotate(refY, width/2, height/2);
canvas.drawLine(0, height/2, width, height/2, p);
btn.setText(Integer.toString(refY))
Run Code Online (Sandbox Code Playgroud)

java android canvas android-canvas

1
推荐指数
1
解决办法
1258
查看次数

如何在android中的canvas中绘制垂直文本

我正在尝试在 android 的画布中绘制一个taxt,如上图: 竖排文字

我没有找到任何方法。是否可以 。谢谢

android android-canvas

1
推荐指数
1
解决办法
2035
查看次数

如何在android画布上绘制部分圆形矩形?

我想在画布上绘制一个带有颜色(或位图)和笔触的圆角矩形填充,但没有一些选定的角,并且在某些选定的边上没有边框。我有什么想法可以实现这一目标吗?

android path draw android-canvas android-drawable

1
推荐指数
1
解决办法
2621
查看次数

Android:如何用圆角画线?

如何绘制带圆角的线/弧,如下图所示?我需要在Canvas.

在此处输入图片说明

android android-canvas

1
推荐指数
1
解决办法
4617
查看次数

我如何在android画布中只绘制矩形的角

我想在画布上作画

在此处输入图片说明

我如何在中心的 android 画布上绘制它?我尝试使用canvas.drawLine但没有得到所需的输出

android paint android-canvas

1
推荐指数
1
解决办法
1399
查看次数

如何在圆路径中旋转drawTextOnPath创建的文本

无法弄清楚如何旋转文本,所以起始位置不是随机的.(我不想动画它).我只想指定起始位置.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new GraphicsView(this));
}

private static class GraphicsView extends View {
    private static final String QUOTE = "Nobody uses Java anymore. It's this big heavyweight ball and chain.";
    Path circle;
    Paint tPaint;

    public GraphicsView(Context context) {
        super(context);
        tPaint = new Paint();
        tPaint.setColor(Color.BLUE);
        tPaint.setTextSize(30);
        tPaint.setAntiAlias(true);
        //setBackgroundResource(R.drawable.background);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        circle = new Path();
        int centerX = getWidth()/2;
        int centerY = getHeight()/2; 
        circle.addCircle(centerX, centerY, Math.min(centerX, centerY), Direction.CW);
        canvas.drawTextOnPath(QUOTE, circle, 0, …
Run Code Online (Sandbox Code Playgroud)

android android-canvas

0
推荐指数
1
解决办法
2817
查看次数