問題タブ [eraser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
10643 参照

android - Android 描画アプリに消しゴムを実装する - 黒い軌跡と透明

私は Android 用の描画アプリを持っており、現在、実際の消しゴムを追加しようとしています。以前は消しゴムに白い絵の具を使っていましたが、背景の色と画像を許可するようになったので、それはもうできません。これを行うには、透明なキャンバスの下に画像ビューを表示します。

私が直面している問題は、消しゴムを有効にするたびに、指を下ろしている間は真っ黒な軌跡を描きますが、離すと透明になります。以下のスクリーンショットを参照してください。

これは、私の指が画面上にあるときにどのように見えるかです - 黒い実線の軌跡 画面に指を置いたままの状態

画面から指を離すとこんな感じ 手放したらどう見えるか

ということで、近づいてきたような気もするのですが、消している最中に指が触れたままの状態で黒い軌跡を避けるための正しい組み合わせの設定が見つかりません。関連するコード スニペットを次に示します。

onDraw

onTouchEvent

消しゴム設定の現在の試み

消しゴムについては他にもいくつかの投稿がありますが、それらのほとんどは を使用するように言っておりPorterDuff.Mode.CLEARsetMakFilter(null)それはうまくいくはずです。私の場合、そうではありません。何を試しても、最初に黒い軌跡を取得し、リリースした後にのみ目的の結果が得られます。

必要に応じて、さらにコードを提供できます。

0 投票する
0 に答える
273 参照

android - アンドロイド消去ビットマップ. - 適切なビットマップを保存できない

私はこのような1つの機能を持っているアプリを開発し ていますこのコードでこれを行いました

消去したビットマップを保存して保存したい

実際、キャンバスにビットマップがロードされています最初の画面

今、私はこのようにビットマップを消去しようとしています(透明キャンバスに追加

そして、ユーザーが保存を押すと、これだけが出力されなければなりません(.png として保存) これは私のOnDrawメソッドです

protected void onDraw(キャンバス キャンバス) {

そして、ボタンを保存します

しかし、これは私に完全な画像(最初のスクリーンショット)しか与えません。コード全体を見ることができます

0 投票する
4 に答える
1623 参照

android - Android: 消しゴム付きのペイント アプリが機能しない

元に戻す/やり直し機能を備えたペイントアプリに取り組んでおり、消しゴム機能を追加したいと考えています。

MainActivity のコード

DrawView

質問:

通常の塗装と元に戻す・やり直しがバッチリ出来ます。ただし、消しゴムは使えません。

  1. 消しゴムボタン( touch_start) を押して画面にタッチすると、直前に描いた線がすべてすぐに黒くなります。

  2. で消しゴムを使用すると、モードtouch_moveがオンになっているにもかかわらず、消しゴム自体が黒い線を描画しCLEARます。

  3. の場合、他のすべての描画touch_upされた線は黒色に維持されます。「消された」領域も黒色でした。ただし、後で新しいパスを描画すると、元の線は元の色に変わり、消しゴムによって「消去」された領域はその色が最後に選択された色になり、パスはビューに保持されます。

消しゴムのコードはどのように適切な方法で書くことができますか? (元に戻す/やり直しを維持)

よろしくお願いします!

0 投票する
1 に答える
1564 参照

android - 描画アプリ Android の元に戻す機能と消去機能 (複製)

この質問は、Android の描画、消去、元に戻すアクションなど、何度も尋ねられていますが 、適切な解決策を提供している人はいません。私は描画アプリを作成していますが、元に戻す機能を追加するまではすべて正常に機能していました。元に戻す機能を追加した後、消しゴムが正常に機能しません。以前の描画を黒くし、同様に消去しません。これは私の DrawingView クラスのコンストラクターです。

これがonDrawメソッドです

ここに touchEvent Handler があります

ここに私の SetErase メソッドがあります

そして最後の元に戻すメソッド

描画アプリで元に戻す機能と消去機能を一緒に実装する方法はありませんか? もし、そうなら?その後、いくつかの助けを提供してください。ありがとう

0 投票する
0 に答える
38 参照

ios - iPad の画像消去でパフォーマンスが低下する

タッチで画像を消去できる iOS アプリがあります。iPhoneでは問題なく動作しますが、iPad Airでは大幅に遅れます。iPhone では最大 40MB のメモリを使用しますが、iPad では最大 200MB のメモリを使用します。何か案は?

0 投票する
1 に答える
548 参照

java - キャンバスを使った消しゴム効果

ビューを拡張するカスタム ビュー クラスがあります。オーバーライドされた onDraw メソッドを使用してキャンバスに落書きしています。Path と Paint を含む POJO のリストがあり、これを使用して描画された古いパスを再作成できます。次のようなものです。

適切な消去のように機能する消去機能を実装したいと思います。ビットマップに書き込み、setXfermode を使用して CLEAR を正しく動作させる 1 つの方法を知っています。ただし、ピクセル化は、解像度が小さいデバイスでは見栄えがよくありません。このビューの下に ImageView があるため、WHITE カラー ペイントを使用したくないので、白に着色すると ImageView にも影響します。この問題を解決するためのアイデアやスニペットは大歓迎です。

0 投票する
1 に答える
1002 参照

html - HTML5 Canvas Drawing App の消しゴムアクションを元に戻す方法

ユーザーが描画する色を選択したり、描画ツールのサイズ (半径) を変更したり、元に戻したり、やり直したり、キャンバスを完全にクリアしたりできる基本的な機能を備えた HTML5 描画アプリを作成しました。

最近、globalCompositionProperty (desitnation-out) を使用して消しゴム ツールを追加し、キャンバスの選択した領域を消去しました。この部分は正常に機能しますが、消去を元に戻すと、キャンバス全体がクリアされ、やり直し機能が機能しません。通常の描画ツール (source-over を使用) で描画を再開すると、元に戻す/やり直しが機能します。アプリで使用されるいくつかの関数のコードを含めました。描画ツールをオフにするたびに、キャンバスのスナップショットを保存します。これは、キャンバスの取り消しと復元に使用される配列に追加されます。

ここで私が間違っている可能性があることを誰かが説明できますか? globalCompositeOperation プロパティが、保存されているキャンバスの DataURI にどのように影響するかがよくわかりません。

更新:しばらくこれをいじった後、問題を解決する何かを試しました。それが正しい方法かどうかは正確にはわかりませんが、私が行ったことをすべてお見せしたいと思います。

マウスアップでトリガーされる解放機能があります。前の関数は次のとおりです。

コードを少し追加しました。これにより、ユーザーは消しゴム ツールを使用して、アクションを元に戻したりやり直したりできます。なぜこれが機能するのかはまだ正確にはわかりません。