Размещение растрового изображения на холсте

Я хотел бы создать вид «миллиметровой бумаги» для растрового изображения, которое я рисую через холст, и пытаюсь найти лучший способ сделать это .

Я не могу передать исходное Bitmap, содержащее фон миллиметровой бумаги, в конструктор Canvas, так как я получаю Canvas в SurfaceView через вызов .lockCanvas ().

Некоторые решения, которые я пробовал:

  • Я пробовал реализовать это решение в моем SurfaceView Thread.run (), но проблема, на мой взгляд, заключается в том, когда BitmapDrawable преобразуется в Bitmap ... BitmapDrawable TileMe = новый 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, который заполняет всю область просмотра?

  • Установка желаемого вида миллиметровой бумаги для фона «Действия» также не работает, поскольку растровое изображение / холст непрозрачны и блокируют его отображение.

Есть идеи, как этого добиться?

11
задан Community 23 May 2017 в 10:29
поделиться