【发布时间】:2015-01-19 02:31:25
【问题描述】:
我有一个已知大小和位置的矩形。 (旗帜)
我必须用其他 4 个矩形填充这个矩形。 (条纹)
每条条纹必须占旗帜总宽度的 1/4,并且其位置接近前一条。
我必须以 0° 到 90° 的随机角度绘制这些条纹。
0° = 垂直条纹(条纹宽度 = 标志宽度 / 4)
90° = 水平条纹(条纹宽度 = 标志高度 / 4)
如何计算其他角度的每个条纹的宽度?
int stripes = 4;
RectF rect = new RectF(0, 0, 100f, 75f);
float angle = new Random.nextInt(90);
float stripeSize;
if (angle == 0) {
stripeSize = rect.width() / stripes;
} else if (angle == 90) {
stripeSize = rect.height() / stripes;
} else {
stripeSize = ?
}
canvas.save();
canvas.rotate(angle, rect.centerX(), rect.centerY());
float offset = 0;
for (int i = 0; i < stripes; i++) {
if (angle == 0) {
reusableRect.set(offset, rect.top, offset + stripeSize, rect.bottom);
} else if (angle == 90) {
reusableRect.set(rect.left, offset, rect.right, offset + stripeSize);
} else {
reusableRect.set(?, ?, ?, ?);
}
canvas.drawRect(reusableRect, paint);
offset += stripeSize;
}
canvas.restore();
【问题讨论】:
标签: android math rectangles