gpt4 book ai didi

java - 在 Canvas 上绘图时 Y 轴错误

转载 作者:行者123 更新时间:2023-12-01 11:25:27 24 4
gpt4 key购买 nike

我尝试在 Canvas 上绘图,但 Y 轴似乎错误。看起来 0 实际上是 -100。

例如,当我绘制一个距离每个边框 10 px 的红色正方形时,我得到以下正方形:

enter image description here

我正在使用的代码:

    Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
canvas.drawRect(10, 10, canvas.getWidth() - 10, canvas.getHeight() - 10, paint);

我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<include layout="@layout/toolbar" />

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
android:background="@color/facebook_color"
android:id="@+id/catchImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:layout_marginBottom="20dp"
android:adjustViewBounds="true" />

<View
android:background="@color/news_item_seperator_stroke"
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
/>
</LinearLayout>

</ScrollView>
</LinearLayout>

当我使用以下代码时,一切正常:

Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.FILL);
canvas.drawRect(0, 0, canvas.getWidth()/2, canvas.getHeight()/2, paint);

Paint paint2 = new Paint();
paint.setColor(Color.BLUE);
paint.setStyle(Paint.Style.FILL);
canvas.drawRect(canvas.getWidth()/2, canvas.getHeight()/2, canvas.getWidth(), canvas.getHeight(), paint2);

/image/Y0vvb.png

最佳答案

你的代码很好,你的 Canvas 只是比当前屏幕大。检查你的布局 xml。请记住:坐标是相对于 Canvas 的,而不是相对于 Canvas 的可见部分。

关于java - 在 Canvas 上绘图时 Y 轴错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com