2016-04-05 27 views
0

たとえば、これは私が高さを知っているし、テキストの左上隅がどこにあるか、それが回転しているどのくらいのテキストおよび(角度)の幅は、私も知っている私のイメージ回転したテキストの位置を見つける方法は?

enter image description here

ですそれは例えば回転させていなかった場合:

enter image description here

私は、テキストの周りを回転テキスト中心の位置を知っているし、その位置は、回転

に変更されません。

今私はここにもオフセット

EDIT

を知っておく必要がありますそうならば、それはテキストかにされているかどうかを画像上のユーザのタップが担当コードであるかどうかを知る必要がありテキストビットマップの回転と配置

public Bitmap getFullTextBitmap2(Bitmap hostBitmap) { 
    Bitmap tempTextBitmap = getTextBitmap(); // getting the bitmap which only contain the text and has the height and width of the text 
    Bitmap fullTextBitmap = hostBitmap.copy(hostBitmap.getConfig(), true); 
    Canvas canvas = new Canvas(fullTextBitmap); 
    Matrix matrix = new Matrix(); 
    matrix.setRotate(tilt - 180, textWidth/2, textHeight/2); 
    matrix.postTranslate(position.getLeft(), position.getTop()); 
    if (isSelected) { 
     Canvas textCanvas = new Canvas(tempTextBitmap); 
     textCanvas.drawColor(selectedColor); 
     textCanvas.save(); 
     textCanvas.restore(); 
    } 
    canvas.drawBitmap(tempTextBitmap, matrix, new Paint()); 
    canvas.save(); 
    canvas.restore(); 
    return fullTextBitmap; 
} 
+0

スケールタイプ== MATRIXのImageViewを使用しています。だから 'Matrix#mapPoints'メソッド – pskink

+0

はfit_centerです。 ユーザが要求した新しいテキストによって、新しいイメージビューがインスタンス化され、メインイメージビューの上にオーバーレイされます。新しくインスタンス化されたイメージビューはすべて透過的なので、ユーザーはメインイメージを下に見ます。透明なレイヤーでは、私はクリック可能ではないテキストをペイントします。ユーザーが画像をクリックすると、メイン画像ビューが通知され、すべてのレイヤーにタッチ位置が送信されます。 @pskinkテキスト –

+0

を回転させるまでテキストは回転しますか? – pskink

答えて

0

は、私が使用した提案:

Matrix#mapPointes 

しかし、私は、ユーザのタッチ入力を元に戻すとnone-rotatedビットマップと比較するためにそれを使用しました。

1

textViewまたはimageViewのonclickイベントにそれぞれ登録して、それらの入力を待ち受けます。 @pskinkとして

+0

これはテキスト表示ではありません。テキストを含むimageViewはメインの大きな画像と同じサイズです。 テキストは実行時に追加され、回転していないときにはそれとやり取りできますが、回転しているときには場所がわからない –

+0

適切なコードを追加してください。 –

関連する問題