4
我使用下面的代碼段如何在Android中旋轉在畫布上繪製的矩形?
Rect rect = new Rect();
paint.getTextBounds(text, 0, text.length(), rect);
canvas.translate(xPosition + position.getX(), yPosition + position.getY());
paint.setColor(Color.BLUE);
paint.setStyle(Style.STROKE);
canvas.drawRect(rect, paint);
paint.setStyle(Style.FILL);
paint.setColor(text_color);
canvas.translate(-(xPosition + position.getX()), -(yPosition + position.getY()));
canvas.rotate(getDegreesFromRadians(angle), xPosition + position.getX() + rect.exactCenterX(), yPosition + position.getY() + rect.exactCenterY());
canvas.drawText(text, xPosition + position.getX(), yPosition + position.getY(), paint);
這段代碼使用文本旋轉的護理借鑑Android的畫布上的文字和它工作正常。我正在使用上面的代碼在文本週圍繪製一個藍色矩形。現在我的問題是矩形不隨文本旋轉。它仍然是一樣的。有什麼辦法來旋轉在Android畫布中繪製的矩形?
你是怎麼計算的角度,因爲我想在用戶的觸摸基礎上旋轉矩形 –
嘿@NirmalPrajapat我偶然發現你的問題,有一個快速的答案,我可以給你從工作拷貝我已經做以前,希望它是有用的: Math.toDegrees(Math.atan2(Y - sdo.y,X - sdo.x))+ 40 ...其中x和y是觸摸位置(我使用拖動手柄ov在圖形上是erlay),sdo是旋轉的位圖,x和y是位圖的中心,40常量是我的拖動手柄位於圖形頂部的角度,即:起點。 – ZengoTim
謝謝@ZengoTim,但我解決了:) –