問題タブ [drawbitmap]
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.
android - canvas.drawBitmap を使用した Android ライブ壁紙は遅くなります
今週アンドロイドプログラミングを始めたばかりで、現在ライブ壁紙に取り組んでいます。
背景画像 (720x1280 png) とエンドレス ループで右から左にスライドするスライドバー (2276x290 png) の 2 つの画像があります。私の問題は、フレームあたり1ピクセルで約3〜4fpsでしかスライドできないことです(実際の電話では、AVDでは約1/3fpsになります)。これは、ライブ壁紙を途切れさせる方法です。コードはこれまでのところ正常に動作していますが、遅くなります。
誰かがこれを「はるかに」速くする方法を知っていれば、とてもいいでしょう。
私のコード:
編集:
画像をjpgファイルに変更した後、約6 fpsになりますが、それでも遅くなります。
編集2:
.lockCanvas() を使用している間はハードウェアアクセラレーションが不可能であることがわかりました ハードウェアアクセラレーションを提供するライブ壁紙 (サーフェスビュー) に画像を描画する別の方法はありますか?
c++ - Direct2D で画像の一部を描画する
GDI+ はかなり (ばかばかしいほど) 遅いので、Direct2D に移行することにしました。私は多くのフォーラム (これを含む) で多くのトピックを調べましたが、成功しませんでした (かなり遅いという事実が原因である可能性もあります)。 .
とにかく、私は Direct2D で開く .PNG を持っており、その一部だけを 20ms ごとに描画したいと考えています。
D2D のものを初期化する
描く:
ただし、その一部だけを描画することはできません。20 x 20 ピクセルとしましょう。私はDrawBitmap()さまざまなサイズrectの s をいじりましたが、結果は画像をトリミングしていません。
各フレームで画像をレイヤー化したくないので、レイヤー化以外にそれを行う方法はありますか?
android - Android でサーフェス ビューのキャンバスに画像を描画できない
カメラ プレビューのオーバーレイ サーフェスであるサーフェス ビューのキャンバスに drawbitmap メソッドを使用してイメージを描画しています。アプリケーションの開始アクティビティとしてアクティビティを起動します。つまり、これは私の最初のアクティビティです。正常に動作し、画像を描画します。画像キャプチャの画像、つまり drawbitmap は画像をレンダリングしません。別のアクティビティからのアクティビティの起動とアプリケーションの起動に違いはありますか。
先に進めないので誰か助けてください...重要です
java - canvas.drawBitmap( bitmap, null, RectF, null ) 描画しない
Android プロジェクトのキャンバスにビットマップ イメージを描画しようとしています。私は今2日以上それに取り組んでいますが、それを理解できないようです. 関数が呼び出されているコードを添付しました。
canvas.drawRect( RectF, Paint ) メソッドは四角形を正しく描画しますが、ビットマップはまったく表示されません。事前に感謝します。
編集: 要求に応じて getImageMap() メソッドからコードを追加しました。基本的には、assets/images/ フォルダー内のすべての画像をマップとして返すだけなので、フォルダーから必要な画像を簡単に取得できます。
EDIT2:間違いを見つけました。コードで更新しました。迅速なフィードバックをくれた方々に感謝したいだけです。
android - Android 4.3 での Canvas.drawBitmap のパフォーマンス
私は 2 つの Samsung S4 を持っています。1 つは 4.2.2、もう 1 つは 4.3 です。SurfaceView で描画された同じゲームを実行しています。4.2.2 では描画に約 30 ミリ秒かかりますが、4.3 では約 100 ミリ秒かかります。描画は別のスレッドから実行されます。問題が drawBitmap メソッドにあることを確認しました。それを修正する方法はありますか?この問題は、Android 4.3 の S4 でのみ発生します。Nexus 7 の 4.4.2 も確認しましたが、すべて問題ありません。
filter - Android - ColorMatrixColorFilter と setpixel?
ビットマップをカラーからグレーに変換する実装を実装したいと考えています。
まず、2 つの for ループを使用して各ピクセルを (R+G+B)/3 で設定します。
ColorMatrix.setSaturation() で ColorMatrixColorFilter を使用した後、
パフォーマンスは setpixel よりも優れています。
しかし、なぜ setpixel メソッドは ColorMatrixColorFilter を使用するよりも遅いのでしょうか? ありがとう。
android - drawBitmap と createScaledBitmap のパフォーマンスの違い
さまざまなサイズの画面解像度をサポートするために、SurfaceView を使用して Android ゲーム アプリケーションのビットマップをプログラムでスケーリングします。drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)メソッドを使用して実行しました。Bitmap既存のビットマップからスケーリングされた新しいビットマップを作成できる createScaledBitmap という名前のメソッドを見ました。それらの間にパフォーマンスの違いはありますか?