問題タブ [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 に答える
8825 参照

android - キャンバス上の TextView

キャンバスTextViewに追加することは可能ですか?ImageView

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

android - 異なる色の境界線を持つAndroiddrawCircle

1つの方法だけを使用して、Androidのキャンバスに異なる色の境界線で円を描くことは可能drawCircleですか?

FILL_AND_STROKEのPaintStyleに気づきましたが、塗りつぶしと境界線の両方で異なる色を使用できないようです。

私は本当に2つのdrawCircleメソッドを呼び出す必要はありません。

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

android - 一部の android 2.2 携帯電話でビットマップの描画が非常に遅いのはなぜですか?

ユーザーが画面上でカードをドラッグアンドドロップできる単純なカードゲームがあります。Droid や EVO などの 2.2 Android フォンの一部では、カードの描画が非常に遅くなります。これは、一部の高速な携帯電話で発生するため、奇妙です。ただし、Droid と Droid X でテストしたのはすべての電話ではなく、G1 のような低速の電話でもプログラムはうまく動作します。Motorolla が Droid の 2.2 アップデートをリリースした後、私はこれに関する報告を受け始めました。

これが私が思いついた修正ですが、グラフィックの品質が本当に低下します。グラデーションがひどく見えます。

これを変更しました

これに

問題は解決しますが、見た目は悪くなります。RGB_565 を使用できないように、アルファ チャネルを維持する必要があります。品質の高い画像を維持し、動作が遅くならないようにする方法はありますか?

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

android - Canvas.drawText() の呼び出しが機能しない理由

こんにちは。 TextView から継承し、そのonDraw()メソッドをオーバーライドするクラスを作成していますが、メソッドでは、呼び出しがcanvas.drawText()機能しないようです。コードは次のようになります。

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

android - アンドロイドでキャンバスをビットマップ画像に変換する

キャンバス上でアプリを開発しようとしています。キャンバス上にビットマップを描画しています。描画後、ビットマップ画像に変換しようとしています。

誰かが私に提案を与えることができますか?

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

android - Android トラッキング x、y 座標はパスから描画されます

パスの x、y 座標点の追跡を必要とする Android アプリケーション (バージョン 2.1/2.2 をターゲット) を開発しようとしていますが、苦労しています。アプリの基本は FingerPaint と似ていますが、最初に別のスレッドが Path ドローアブルを使用してキャンバスにいくつかの線を描画し、次にユーザーがそれらの線を別の Paint および Path オブジェクトで完全に覆って描画しようとする点が異なります。ユーザーは、コンピューターよりも大きなペイント ブラシを使用します。最初の自動描画された線は、LunarLander サンプル アプリと同様の別のスレッドを使用します。線は単なる直線ではないため、次のことを行うためのアプローチを見つけるのに苦労しています。 1. 自動ポイント描画を追跡します。私は基本的なポイントを提供していることに気付きましたが、すべてのポイントを実際に把握するために path.lineToandpath.arcToとを使用しています。path.quadTo

  1. 自動パスが描画したすべてのポイントがわかったら、ユーザーがそれらすべてのポイントを描画してそのラウンドに「勝つ」ことを監視および検出します。

明らかに存在しない私の理想的な方法は次のようなもの autoPath.getDrawnPoints().coveredBy(userPath.getDrawnPoints()) == trueでしょうか?これについて何か助けていただければ幸いです。ありがとうございます。-ベン

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

java - 古いキャンバスから描画-Android

最後のセットの上に新しいグラフィックを描画できる必要があるアプリを作成しています。

これは私の現在のonDraw()メソッドです-

基本的に、新しいグラフィックを最後のグラフィックの上にレイヤーとして描画する必要があるので、私が探しているのは、最後のキャンバスのイメージを現在に運ぶ方法です。

私はcanvas.setBitmap()メソッドを使用して自分でそれを理解しようとしましたが、それは非常に面白い動作をします。

助けていただければ幸いです:)

PS必要に応じて、クラスを拡張SurfaceViewして実装しますSurfaceHolder.Callback

編集:これは私がonDraw()メソッドで試したものですが、強制的に閉じるだけです

0 投票する
3 に答える
6374 参照

android - Androidでゲームを適切にスケーリングする方法

簡単にするために、Android用の単純なPongクローンゲームを作成していると仮定します。ランドスケープモードでのみ再生可能であると仮定しましょう。(今のところ四角い電話は無視してください)。

QVGA電話でゲームのスクリーンショットを撮り、スクリーンショットのサイズをWVGAサイズに変更した場合、ゲームとほぼ同じように見える程度に、ゲームを各電話で同じスケールで表示したいと思います。 WVGA電話を見てください。つまり、パドルの幅は常に画面幅の1/32である必要があり、ボールの直径は常に画面幅の1/16である必要があります。

アプリケーションをペイントする適切な方法は何でしょうか?に描画される標準のSurfaceViewで実行されますCanvas

パドル、ボール、およびゲームフォント(スコアボード、メインメニュー)用の高解像度PNGがあるとします。

物理的な解像度を確認し、Canvasビアscale(float sx, float sy)を拡大縮小してすべてのキャンバス(QVGAおよびWVGA上)の仮想解像度を同じにし、各画面サイズの各位置にまったく同じプリミティブを描画しますか?

または、Canvasで密度に依存しないピクセル(ディップ)を使用できますか?

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

android - MapView での透明な描画

現在、セクターを示すために、さまざまなジオポイントに基づいて MapView に線を引いています。次のコードを使用 (これはオーバーレイ内にあります):

問題は、ある程度の透明度で塗りつぶしたいので、塗りつぶされたセクターの下にマップが表示されることです。polyPaint.setAlpha() を 255 (完全に透明にする必要があります) に設定しようとしましたが、何もしません。完全に不透明です。

誰が私が間違っているのか知っていますか?

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

android - ビットマップが image_view に間違って配置されている理由を理解するのに本当に助けが必要です

この問題は何日も私を悩ませてきましたが、一体なぜそれが起こっているのか分かりません. 顔を検出するメソッドがあります。顔が検出された場合、メソッドは顔に沿ってキャンバスに長方形を描画します。

その部分はうまく機能します。

問題は、xml ファイルの image_view に表示すると、画像ビューの左端中央に表示され、幅が fill_parent の中央ではなく、ボックス内に表示されることです。

可能な回避策を考えました:ビットマップをビットマップドローアブルとして設定しますが、キャンバスはビットマップのみを描画するため、中央にビットマップドローアブルを取得できますが、その周りに赤いボックスはありません。

ビットマップ ドローアブルのテストをコメントアウトし、現在の状態のままにしました... image_view の左端にある xml にのみ表示されます。ぜひ参考にしてみてください!

コードが少し長いので、pastebin に投稿しました (ビュー フリッパー内で線形レイアウトも使用しています)。

方法:

http://pastebin.com/KQ5Pmx45

xml:

http://pastebin.com/jbt3j40h

私は顔を検出することができ、ビットマップドローアブルをイメージボタンに貼り付けることができ、うまく中央に配置できるので、問題が解決できない場合、ビットマップドローアブルの周りに四角形を取得する方法はありますか?

ありがとう!

編集:私はそれを RelativeLayout に実装しようとしましたが、それでも同じことをしています:

http://pastebin.com/daqMdXjB