ビットマップにはテキストのみが含まれているため、ビットマップの幅と高さはテキストの幅と高さと数式によって決まります。私はキャンバスを使用してビットマップ内のテキストを回転させる
canvas.rotate(tilt - 180, bitmap.getWidth()/2, bitmap.getHeight()/2);
//the seek bar has a range of 0 to 360 so in order to get the right tilt i need to use (tilt - 180) instead of (tilt)
を使用してテキストを回転させたときに、今、これは回転の中心が間違っているだけでなく、明らかに
起こるものです。 I'vはcanvas.translateを使用しようとしたとの結果が良くなっているが、彼らはまだ正しくありません:
float actualTilt = Math.abs(tilt - 180);
actualTilt = (actualTilt >= 90 && actualTilt != 180) ? 90 - actualTilt % 90 : actualTilt;
if (actualTilt == 180) actualTilt = 0;
// by above statements i make sure actualTilt is less than 90 and it's values are 0,1,...89,90,89,88,...0
float v = actualTilt/90;
canvas.translate((-(textWidth/2) * v), (textHeight/2) * v);
//i don't understand the above statement either but this is the result
テキストが長くなる場合、結果は最悪
完全に異なる方法を使用する必要がある場合は、私に教えてください。 –