0

私のアプリの一部には、後で PDF にまとめられるユーザー描画画像が含まれます。ユーザーは画面全体を自由に使って描画できます。ユーザーが描画を完了したら、画像を PDF に追加する前に空白をすべて削除したいと思います。これは私が問題を抱えているところです。トリミング可能な余白の場所を特定する 2 つの異なる方法を考えましたが、どちらも扱いにくいようです。

私が最初に考えたのは、スタイラス レコードのモーション イベントが、これまでボックスの外に出ていた場合です。ある場合は、これに対応するようにボックスを拡張します。残念ながら、モーション イベントが発生するたびにポーリングがパフォーマンスに悪影響を及ぼしていることがわかりました。ユーザーは文字 V のようなものを描くことができるため、アップイベントとダウンイベントを見ることはできません。

次に、すべてのピクセルを (getPixel() を使用して) 見て、最高、最低、右端、左端の黒いピクセルがどこにあるかを確認できると考えました。繰り返しますが、これはボックスを見つけるには非常に非効率的な方法のようです。パフォーマンスを向上させるためにいくつかのピクセルをスキップできると確信していますが、スキップしすぎることはできません。

私がやりたいことを行う標準的な方法はありますか?私は何も見つけることができませんでした。

4

2 に答える 2

2

エディター内で、このピクセルが描画されたことを記録し、最大および最小のXとYを更新して、後でそれらを使用して画像をトリミングすることができます。

于 2012-11-19T21:00:15.353 に答える
1

ユーザーが描画している場合、描画イベントをキャプチャするために onTouchEvent コールバックを既に処理していませんか? その場合、minX、maxX、minY、および maxY を保持し、記録された各描画イベントをこれらの値と照合することは大したことではありません。

于 2012-11-19T21:01:07.027 に答える