問題タブ [android-canvas]

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 投票する
4 に答える
1360 参照

java - 大規模なオーバーホールなしでキャンバスをスクロール可能にする

私は主に Android アプリのプログラミングのインとアウトを学ぶための経験として使用している Android 用の 2-D ゲームを開発中です。現在、私のメイン アクティビティは、SurfaceView を拡張し、SurfaceHolder.Callback を実装するカスタム クラスをインスタンス化します。このビューは、ほとんどのロジックとすべてのグラフィックス処理を処理するスレッドをインスタンス化します (これには、キャンバスのインスタンス化と描画が含まれます)。

まあ、私は初心者なので、キャンバスを画面よりもはるかに大きくし、ユーザーがスクロールしてキャンバスのすべての部分を見ることができるように設計し始めたときは考えていませんでした...しかし、残念ながら、それは私がしたことです起こる必要があります。

これを行う簡単な方法があれば、私に知らせてください。

私の最善の推測は、キャンバスの実際の作成を ScrollView を拡張する別のクラスに入れ、何らかの方法ですべての Draw() をスレッドからそのキャンバスに呼び出すことです。これは可能ですか?私のクリックイベントは、実際にはメインアクティビティからキャプチャされます(参考までに)。

0 投票する
2 に答える
10484 参照

java - Android用Canvasで元に戻すとやり直し

画像の挿入や移動など、他の機能を備えたAndroid用のFingerPaintのカスタマイズバージョンを使用しています。Undo&Redoを実装することにしました。これにより、作業が楽になります。それを実装するために、最終的に、ビューの描画キャッシュをプッシュするスタックを使用することにしました。以前の状態に戻るたびに、そこからコンテンツをプッシュします。したがって、FingerPaintをベースとして使用すると、次のようになります。

スタックは、これを解決する方法をまだ考えているので、現時点では修正後にのみ更新されています。REDOを適用する場合は、次のようにします。

これまでのところ、アプリケーションは変更なしで画面の元の状態を表示します。また、リセットするために白い背景でペイントしようとしましたが、このアプローチも機能していません。

これを修正する方法についてのアイデアや提案はありますか?私は本当に感謝します:)

よろしく

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

android - Canvas.drawVertices のバグ? (再現コードと logcat を使用)

このコードを単純なスケルトン Android プロジェクトに貼り付けるだけです。

そして、これをメイン アクティビティの onCreate でメイン ビューとして設定します。

これにより、エラーや「強制終了」ダイアログが表示されることなく、アプリケーションが終了するはずです。Logcat も役に立ちません (http://pastebin.com/c67NJnBz)。

ただし、次の drawVertices 呼び出しは両方とも目的の効果を生み出します。

私は何か間違ったことをしていますか?これが Android API のバグかどうかを判断するのを手伝ってください。

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

android - キャンバスのビットマップを上にスタックしますが、下のキャンバスの変更は透けて見えます

2 つのキャンバスを重ねる方法を考えています。一方にはビットマップがあり、もう一方には実際に描画するものがあります。

基本的に私が持っているものは次のとおりです。

mCanvasはユーザーが描画する場所imageCanvasであり、ビットマップが描画される場所です。

画像は白黒で、常に黒い線が透けて見えるようにしたいので、スタックの一番上に配置します。

画像の白い部分が透明である必要があることを確認する必要があるようです。これは、画像をロードするときに行う必要があるかもしれません。

では、これら 2 つのキャンバスを同じビューに重ねてdrawLine、一番下のキャンバスに表示するにはどうすればよいでしょうか。

私はこの質問を見ましたが、似ているとは思いません:

レイヤード画像とキャンバス

0 投票する
2 に答える
10744 参照

android - Android ライブ壁紙 -- OpenGL vs Canvas

私はかなり「初心者」の Android 開発者で、最初のプロジェクトの 1 つをライブ壁紙にしたいと思っていますが、そのために Canvas と OpenGL のどちらに焦点を当てる必要があるかについて葛藤しています。これに慣れていないので、Canvas の方が使いやすいので、最初にマスターする必要があることはわかっていますが、興味のある実際のプロジェクトから学ぶことを好みます。

私は以前に両方を非常に基本的な方法で使用したことがあり、それらの一般的な概念は理解していますが、ライブ壁紙の領域にどのように移行するかはわかりません. 最大 FPS で実行すると必要以上にバッテリーが消耗するため、ライブ壁紙では OpenGL の本格的な速度は必要ないと考えていますが、同時に Canvas を使用すると遅延が発生し、ホーム画面の変更などを行うと途切れます。

私は OpenGL ES 2.0 の使用に傾倒してきました。これは、パフォーマンスを最適に保つためと、壁紙に関する私の最初のアイデアには多くのレイヤリングが含まれていたため、Canvas が可能かどうかはわかりませんが、経験豊富な開発者の意見を求めています。または、OpenGL の使用に伴うすべての追加作業 (特に、私が読んだライブ壁紙に関連するもの) がそれだけの価値があるわけではありません。

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

java - キャンバスにビットマップを描画する NullpointerException

NullpointerException が発生するのはなぜですか?

ありがとうございました!

ps:私はJavaが初めてです。

出力:

0 投票する
2 に答える
1781 参照

android - キャンバスにテキストを描画し、画面に表示できるようにします

このコードは、テキストを画像に変換することになっています

このコードは大丈夫ですか?はいの場合、この新しいビットマップを画面に表示するにはどうすればよいですか?エラーが発生したこのコードを試しました

Canvasコードで使用できるような要素がXMLにないため、要素と混同しています。

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

android - Googleマップにピンをドロップする方法と、Googleマップのダイアログボックスで現在の住所を取得する方法は?

私は、Google マップに関連する 1 つのアプリケーションに取り組んでいます。グーグルマップ初心者です。

現在の場所にピンを表示するアプリケーションを実行したいと考えています。そのピンをクリックすると、現在のアドレスを含むダイアログが表示されます。「ピン可動」。Google マップでピンをある場所から別の場所に移動すると、ダイアログ ボックスにその場所の住所が表示されます。

アイデアや参考サイトを教えてください。

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

android - 半透明の白い線を引くにはどうすればよいですか?

私は色の #70ffffff として 16 進コードを持っています。

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

java - drawBitmapに時間がかかりすぎる

こんにちはここにコードがあります:

さて、drawBitmapが5分からブロックされているというのはどうなるのでしょうか...何かアイデアはありますか?