Моя цель сейчас - создать растровое изображение непрямоугольной формы, которое я тоже могу перемещать. Я создал путь, который я могу использовать как с методом clipPath холста. Можно ли переместить этот clipPath вокруг?
Кроме того, я делаю это лучшим способом или есть лучший способ сделать это?
Вот моя функция рисования:
public void draw(Canvas c){
// Paint object, for outline of clip Path.
Paint p = new Paint();
p.setStyle(Style.STROKE);
p.setColor(Color.RED);
// A currently defined path to clip the bitmap with
Path clipPath = new Path();
clipPath.moveTo(top_left.getX() + nodes.getNodeVals('L').getX(), top_left.getY() + nodes.getNodeVals('T').getY());
clipPath.addPath(outline);
c.save(); // Save the canvas (rotations, transformations, etc)
c.clipPath(clipPath); // Create a clip region
c.drawPath(clipPath, p); // Draw that clip region in red
c.drawBitmap(img, top_left.getX(), top_left.getY(), null); // Draw the bitmap in the clip
c.restore(); // Restore the canvas (rotations, transformations, etc)
}
Линия clipPath.moveTo
- это то, где у меня проблемы, я полагаю. По сути, это должно быть создание нового пути, который находится в местоположении, определенном значениями x и y для moveTo (я полагаю, что они правильно установлены в другом месте). Путь создается заранее и сохраняется в outline
, а часть addPath
должна добавить схему к clipPath
.
Заранее спасибо!