問題タブ [bitmapfactory]
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 - Android 2.1SDK - ビットマップのサイズ変更
次のコードを使用して、ビットマップをダウンロードしてサイズ変更します。
私の onCreate() 関数では、前の関数を使用する ImageViews を動的に作成します
ビットマップのサイズを変更しようとしなければエラーは発生しませんが、サイズを変更しようとすると -> 強制的に閉じます
android - アンドロイド紛らわしいクラッシュ
メッセージで最大40% の空き時間になっているのに、メッセージが表示されVM won't let us allocate 171600 bytes
てクラッシュするのはなぜですか?java.lang.OutOfMemoryError: bitmap size exceeds VM budget
GC
android - ビットマップ ( BitmapFactory.decodeFile の出力) を元の画像ファイルよりも大きいファイルに保存するのはなぜですか?
opencv (android-jni) を使用して Bitmapfile のサイズを変更し、出力ビットマップを /mnt/sdcard/org.jpg という名前のファイルに保存します。
次に使用する
ビットマップを取得し、このresultBitmapをファイル/mnt/sdcard/result.jpgに再保存します
org.jpg のサイズは 100k で、result.jpg のサイズは約 300k です。
なぜ?
私のサイズ変更方法は、次のように jni で opencv を使用します。
そして私のメインは
私のsaveBitmapToFileは
android - ビットマップに渡されたイメージビューをズームする方法
こんにちは、Android アプリケーションを開発しています。ビットマップに渡されたイメージビューをズームする方法を教えてください。
サンプルコード:
android - android BitmapFactory.decodeByteArray() 画像タイプ?
BitmapFactory.decodeByteArray()
ピクセルタイプが返す
ものを誰か知っていますか?
基本的に、カメラ プレビュー コールバックでこのスニペットを使用しています。
Androidで使用できる優れたビットマップを取得します。しかし、OpenCV で使用したい場合は機能しません。OpenCV には ARGB_8888 タイプが必要なので、decodeByteArray()
関数から別のタイプを取得していると思います。
ありがとう、
ヴラド
android - Android - PNG ファイルを使用してキャンバスに背景を設定する
アプリで .PNG ファイルを背景として設定しようとしていますCanvas
。480 x 800 の画像を作成し、次の方法を使用しました。
エミュレーター (WVGA800) を起動しましたが、画像がデバイスの画面より大きく見えます。
この画像のサイズを変更するにはどうすればよいですか、またはこの画像を適切に一致させるにはどのような方法を使用すればよいですか?
次に、このような背景をさまざまな画面解像度のデバイスで共通にする方法はありますか?
前もって感謝します。
java - キャンバス Java からビットマップを作成する
解決
@ChandraSekhar の提案のおかげで、Immutable Bitmap を canvas コンストラクターに渡していたことが問題でした。解決策は、BitmapFactory.decodeFile(); を使用するときにそのコピーを作成することです。
したがって、 bitmapFactory.decodeFile() を使用しているビットマップがあり、これは機能します。ビットマップを作成できたら、キャンバスを作成する必要があります。ここで奇妙なことが起こります。
ここまでが流れです。画像をキャプチャし、それを functionA に渡してサイズを調整し、保存してファイル パスを返します。(Phonegap Cordova を使用しています)
次に、その URL を Java に戻し、以前に保存した画像を使用して functionB で操作します。
問題のコード:
エラーは発生しません。ハングするだけです。これがズボンのキックです-別の関数を実行すると、最初に functionB と言って、一方は機能しますが、もう一方は機能しません。
最初の FileOutputStream をフラッシュして閉じる必要があるのではないかと考えましたが、効果はないようです。すべての要素、ビットマップ、キャンバス、およびファイル出力ストリームに対して異なる変数名を試しました。
ここに完全な機能の例があります... 注:phonegap / cordovaを使用しているため、文字列を返しています
私が言ったように、これは最初の画像で機能しますが、この画像を再度開こうとすると、返されたファイルパスに基づいて、キャンバスの作成行でチャンクアウトします。
編集: 私が使用している画像パスは次のようになります: /mtn/sdcard/myApp/tmp.jpg 考え?
android - imageviewの画像のサイズを変更する必要があります
8 mpの画像がありますが、ファイルが大きすぎるため、ImageViewに表示できません。BitmapFactoryを使用してサイズを変更し、この新しい画像をXMLのImageViewのソースとして渡すにはどうすればよいですか?
私のXML:
私の活動:
android - BitmapFactory.decodeByteArray()によって生成された画像のサイズを変更します
オーディオプレーヤーを作成しています。プレーヤーに曲のカバーを表示したいのですが、小さい画像で動作しますが、mp3ファイルの画像が大きい場合はレイアウトビューから外れます。以下のコードを使用して、画像のサイズを300x300に変更しています。
しかし、それでも大きく表示され、レイアウトから外れます。
このコードの何が問題になっていますか?
android - android - bitmapfactory oom を避けるために、Canvas の代わりに GLSurfaceView を使用する必要がありますか?
私のアプリは、建物の平面図を読み込んでから、平面図にオブジェクト (家具) を描画する必要があります。フロアプラン イメージは 2500 x 1500 240Kb PNG ですが、ビットマップを作成するために 12Mb 以上のヒープを必要とするため、ビットマップ ファクトリーがほとんどのデバイスをクラッシュさせ、OutOfMemory エラーが発生します。ここで明確にさせてください: これは、私が知る限り、メモリ リークではなく、最初のイメージの作成中に最初にクラッシュするため、 bitmap.recycle() は何もしません。画像を認識できないほどのサンプル サイズを使用しない限り、inSampleSize を使用して画像を読み取っても役に立ちません。この全体の状況はクレイジーです。Droid 3、HTC Inspire、および 2 つの 2.3 エミュレーターでテストしています。HTC は、128Mb の (ばかげた) ヒープ サイズを持つエミュレーターと同様に、マップをロードします。このアプリの展開は、さまざまな Android ユーザーに使用されるため、
これが私の現在のコードで、使用できない画像が表示されます(別のSO投稿から、申し訳ありませんがリンクを失いました):
GLSurfaceView はここで私の問題を解決しますか? 1) フロアプラン イメージを読み込む、2) オブジェクトとテキスト ラベルをプログラムで描画できるようにする、3) ズームをサポートし、フロアプランの座標に基づいてタッチに反応するために必要です。これが答えである場合、このような基本的な 2D 作業のための優れたチュートリアルを推奨できる人はいますか?