我想畫一些文字到畫布上,並且想要清除從特定區域(由Rect定義的區域)抽出的所有內容。畫布:清除矩形但保留內容的其餘部分
我畫品紅色文字和想清楚一切都在灰色和把一切都在白色的盒子。我得到了白色區域作爲rect。
我想畫一些文字到畫布上,並且想要清除從特定區域(由Rect定義的區域)抽出的所有內容。畫布:清除矩形但保留內容的其餘部分
我畫品紅色文字和想清楚一切都在灰色和把一切都在白色的盒子。我得到了白色區域作爲rect。
試試這個。繪製四個矩形,顏色設置爲白色。
YMAX - 鮃Y值
mCanvas.drawRect(0, 0, rect.left, yMax, paint);
mCanvas.drawRect(0, 0, xMax, rect.top, paint);
mCanvas.drawRect(0, rect.bottom, xMax, yMax, paint);
mCanvas.drawRect(rect.right, 0, xMax, yMax, paint);
這可能幫助ü
對於透明塗料使用:
canvas.drawRect(0, 0, rect.left, yMax, paint);
canvas.drawRect(rect.left, 0, xMax, rect.top, paint);
canvas.drawRect(rect.left, rect.bottom, rect.right, yMax, paint);
canvas.drawRect(rect.right, rect.top, xMax, yMax, paint);
或者,如果你需要另一種形狀的使用路徑:
Path path = new Path();
//path.addCircle(centerX, centerY, radius, Path.Direction.CCW);
path.addRect(rect, Path.Direction.CCW);
canvas.clipPath(path, Region.Op.DIFFERENCE);
canvas.drawRect(0, 0, xMax, yMax, paint);
不幸的是,clipPath只能從API 18起作用(如果啓用了硬件加速)
您可以使用畫布對象的drawRect方法。 – Renard 2012-08-11 10:26:33
我不想畫它,我想清楚它 – 2012-08-11 10:33:09
與您選擇的顏色擦除和繪製它有什麼區別?只需調用drawRect 4次來清除白色矩形外的區域。 – Renard 2012-08-11 10:35:31