Я хотел бы создать "графическую бумагу" для растрового изображения, которое я рисую через Canvas, и пытаюсь найти лучший способ сделать это.
Я не могу передать исходное растровое изображение, содержащее фон справочника графа, в конструктор Canvas, так как я получаю Canvas в SurfaceView через вызов .lockCanvas().
Некоторые решения, которые я пробовал:
-
Я попытался реализовать это решение в моем SurfaceView Thread.run(), но проблема, на мой взгляд, заключается в том, что BitmapDrawable преобразуется в Bitmap... он теряет свойства плитки.
canvas = mSurfaceHolder.lockCanvas(null); BitmapDrawable TileMe = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.drawable.editor_graph)); TileMe.setTileModeX(Shader.TileMode.REPEAT); TileMe.setTileModeY(Shader.TileMode.REPEAT);
Растровое изображение b = TileMe.getBitmap(); canvas.drawBitmap(b, 0, 0, null);
-
Если я использую метод Canvas.drawBitmap, который принимает целевой RectF в качестве параметра, похоже, что растровое изображение будет чтобы заполнить RectF... но как я могу объявить RectF надежно, что заполняет всю область просмотра?
- Настройка фона "Деятельность" на нужный графический документ также не работает, так как макет растрового изображения/холста непрозрачен и блокирует видимость.
Любые идеи, как достичь этого?