2

テキストを描画するキャンバスがあります。
(これはかなり高度です。フォローしていただければ幸いです)

以下の添付画像を参照してください。

機能は、画面をタップしてテキストサイズを変更できることです。
左画面をタップ=小さいフォント。
右の画面をタップするとフォントが大きくなります。
その後、画面上のテキストを移動することもできます。

テキストサイズが問題なく、テキストを必要な場所に移動したら
、元のビットマップに保存したいと思います。

私はoptions.inSampleSize = 4;最初にロードするために使用しますBitmap

もちろん、ビットマップを持つ ImageView は、元のイメージよりも小さくなります。
何らかの計算が必要です。これを行うのはかなり難しい傾向があります。

私はoptions.inSampleSize = 4ビットマップ比率を持っています。
横向きか縦向きかによって0.59、0.69くらいです。

私はそれをいじって、新しいビットマップを何らかの方法で変更しsetTextSize
て、ImageViewの小さなビットマップと同じように見せます。

ここで何ができますか?
画像のサイズがわからないので、私は感じています。
何らかの方法で Loaded Bitmap Ratio を固定比率にスケーリング/制約する必要があります。

次に、パーセンテージなどを使用して、テキストの場所をより大きな画像に転送する必要があります。
最初の位置(写真の赤い小さなボール)に関しては、私はそれを行うことができます. したがって、テキストの開始点。

しかし、テキストがどれくらいの長さかわかりませんので、立ち往生しているので、話してアドバイスを求めてください

私が試みた 1 つの方法はpaint.getTextSize()、0.59 のような比率で割ることでした。それは最初は解決策のように見えました。ただし、画像の比率は固定されておらず、フォントサイズも固定されていません。何か他のものが必要です。

問題を示す 2 つの写真を次に示します。

電話でのビットマップ:

ここに画像の説明を入力

保存された新しいビットマップ:

ここに画像の説明を入力

4

1 に答える 1