Android пользовательский рисунок кисти / изображение

У меня есть изображение 8x8. (растровое изображение - можно изменить)

То, что я хочу сделать, это уметь рисовать фигуру, учитываяPath а такжеPaint возразить на мой.SurfaceView

На данный момент все, что я могу сделать, это заполнить форму сплошным цветом. Как я могу нарисовать это с рисунком.

На изображении вы можете увидеть рисунок кисти (крестик). Это может быть что угодно, от креста до пончика или эльфа.

Как бы я пошел рисовать этот узор фона.

Я также в конечном итоге хочу применить цвета к нему.

До сих пор моя теория заключалась в создании области обрезки фигуры и размещении растровых изображений до тех пор, пока область не будет покрыта, но это является чрезмерным перебором в обработке. Ни звучит идеально.

Что касается окраски, я могу отредактировать кисти, чтобы они были альфа, заполнить их цветом фона, а затем нарисовать изображения сверху. Реальная проблема это черепица таких шаблонов.

Я нашел несколько вопросов аналогичного характера, все они остались без ответа и / или не применимы к моей ситуации. (использование xmls для представлений и т. д.)

Ответы на вопрос(1)

Решение Вопроса

Ты проверял этоблог, Его использованиеBitmapShader

Пример:

    //Initialize the bitmap object by loading an image from the resources folder  
    fillBMP = BitmapFactory.decodeResource(m_context.getResources(), R.drawable.cross);  
    //Initialize the BitmapShader with the Bitmap object and set the texture tile mode  
    fillBMPshader = new BitmapShader(fillBMP, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);  

    fillPaint.setStyle(Paint.Style.FILL);  
    //Assign the 'fillBMPshader' to this paint  
    fillPaint.setShader(fillBMPshader);  

    //Draw the fill of any shape you want, using the paint object.
    canvas.drawCircle(posX, posY, 100, fillPaint);
 Prokash Sarkar27 авг. 2016 г., 15:36
Любое предложение относительно проблемы производительности? Поскольку вы быстро рисуете растровые изображения на холсте, это приведет к тяжелому интерфейсу. Вызывает очень медленное выполнение.

Ваш ответ на вопрос