Я создаю холст размером с мое изображение PNG и устанавливаю это изображение в качестве фона.После этого я хочу нарисовать значки и другие изображения SVG поверх него (SVG уже преобразован в XML-файлы для Android Studio).
Я хочу увеличить его, чтобы увидеть больше деталей и реализовать его для chrisbanes / PhotoViewбиблиотека.
Теперь, когда я увеличиваю изображение, XML-файлы всегда становятся размытыми.И я много искал в интернете, но не нашел решения.
Я думал, что мне нужно обновить холст при масштабировании, чтобы изображение было перерисовано, но я не знаю, как это сделать.сделай это.
Извините, если чего-то не хватает, я новичок.Просто запросите дополнительную информацию, если она вам нужна:)
activity_canvas.xml:
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/active_level"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="60dp"
android:layout_marginBottom="70dp"
android:adjustViewBounds="true"
android:contentDescription="@string/active_level"
android:scaleType="centerInside" />
DrawCanvas.java:
// create bitmap, define canvas size as bitmap size and attach bitmap to canvas
Bitmap bitmap = BitmapFactory.decodeResource(currentContext.getResources(), R.drawable.empty);
tempBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.RGB_565);
tempCanvas = new Canvas(tempBitmap);
tempCanvas.drawBitmap(bitmap, 0, 0, null);
// draw fruits
Drawable fruits = currentContext.getResources().getDrawable(R.drawable.fruits);
fruits.setBounds(0, 0, tempCanvas.getWidth(), tempCanvas.getHeight());
fruits.draw(tempCanvas);
PhotoView imageLevel = findViewById(R.id.active_level);
imageLevel.setImageDrawable(new BitmapDrawable(currentContext.getResources(), tempBitmap));
Обновление: я пытался использоватьмасштаб холста, поэтому изображения перерисовываются, но потом я потерял способность увеличивать масштаб.