У меня есть изображение и указаны координаты c пикселей на том изображении, которое я пометил. например: здесь ширина изображения:
ширина: 374px
высота: 738px
и координаты прямоугольных пикселей на изображении:
left угол x: 100
левый угол-y: 20
правый угол-x: 250
правый угол-y: 550
Теперь я хочу отметить эти пиксели в своем приложении. Итак, у меня есть макет с изображением, а поверх него - вид костюма, я назвал его «paintView» и рисую на нем настроенный холст.
Это мой код макета:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imgView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:clickable="true"
android:focusable="true"
android:src="@drawable/tower"
android:padding="30dp"
android:layout_gravity="center"
android:scaleType="fitXY" />
<com.test.app.PaintView
android:id="@+id/paintView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:padding="30dp"
android:clickable="true"
android:focusable="true"
android:layout_gravity="center"
/>
</FrameLayout>
это часть в настроенном классе, когда я хотел нарисовать прямоугольник по координатам пикселей, которые у меня есть:
public class PaintView extends View {
...
@Override
protected void onDraw(Canvas canvas) {
canvas.save();
Rect buttonRect = new Rect(100, 250, 20, 550);
canvas.drawRect(buttonRect, mPaint);
}
...
}
Но холст не рисует его правильно, это результат:
есть ли способ, которым я могу «перевести» заранее известные мне пиксели, чтобы правильно нарисовать их на холсте