Как изменить XML-файл изображения на холсте увеличить в Android Studio / размытое XML-изображение при увеличении - PullRequest
0 голосов
/ 12 мая 2019

Я создаю холст размером с мое изображение 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));

Обновление: я пытался использоватьмасштаб холста, поэтому изображения перерисовываются, но потом я потерял способность увеличивать масштаб.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...