問題タブ [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 - ビットマップが OnDraw Canvas の VM バジェットを超える
こんにちは、いつものように 2 つの主な方法があるゲームに取り組んでいます。キャンバス上のすべての描画をオンドローし、すべての計算を更新します。問題は、ゲームの要件である Ondraw で新しいビットマップを変更して作成する必要があり、何が起こるかを推測することです。Bitmap Size Exceeds VM Budget というエラーで強制終了します。何度も何度も呼び出されるキャンバスと onDraw のコンテキストで、誰でも問題を解決するのに役立ちます。
java - Android: setImageURI を使用するとメモリ リークが発生し、OOM が発生する
私はJavaを数日しかプログラミングしていないので、優しくしてください... :P
私のアプリは SQLite データベースを使用して、ユーザーが提供するテキスト、写真、および場所を必要とするさまざまな「プロジェクト」を保存します。問題は、プロジェクトの一部を参照しているときに、ロード時にメモリ不足の例外が発生することです。
myImage.setImageURI(Uri.parse(msavePicture));
5回目の4回目。DDMS を使用すると、新しいロードごとに割り当てられたメモリが約 0.2Mbyte 増加することがわかります。問題を検索して使用してみました
myImage.setImageDrawable(null);
しかし、問題は残ります。また、コードを次のように変更しようとしました
だから私は .recycle(); を使うことができます しかし、画像は読み込まれず、null が返されます。msavePicture は、次のような文字列です。
file:///mnt/sdcard/MyCameraApp/IMG_2011-12-09-01-49.jpg
私が含めた
マニフェストで、 setImageURI を使用すると機能するため、画像が存在することを知っています。
問題は、メモリリークを引き起こすために何が間違っているのか、ImageViewを本当に破壊する方法、またはなぜBitmapfactoryが私の文字列をデコードできないのか、ファイルの場所が間違っているのかということです.
念のため、多くのアクティビティを含めました。これに関する解決策やリンクは大歓迎です!
前もって感謝します!
(PS: SQLite データベースをサーバーに保存する方法を誰かが知っている場合は、それを使用して他の電話を更新することもできます! =) :DS)
android - ビットマップ Null 例外
上記のスニペットでは、bmp == null の場合があり、NullPointerException @ Bitmap.createBitmap が発生することがあります。カメラ アクティビティから uri を取得しています。画像は間違いなく保存されています。
それが問題だった場合、OutOfMemoryException が発生しますか? 誰かがこれに問題があるか、それを改善する方法を見ていますか?
android - BitmapFactory.decodeStream() を使用して URL から画像を読み込めません
URL から画像をダウンロードして ImageView として表示しようとしています。ダウンロードは、AsyncTask を使用してバックグラウンドで行われます。ただし、BitmapFactory の decodeStream を呼び出すと、常に null オブジェクトが返されます。接続用に提供された URL が正しいことを確認しましたが、BitmapFactory は HTTP 接続によって返された InputStream から画像を読み取ることができないようです。以下にコードを示します。
奇妙なことに、Nexus S ではまったく同じコードが正常に動作しますが、Android 2.1-update1 を実行している Samsung では動作しません。
java - サイクルを使用して、URL から画像を読み込む
サーバーから画像をダウンロードするためにこのコードを使用しています:
1つの画像では問題なく動作しますが、これをサイクルで使用している場合、2回目、3回目などの反復で奇妙なものを返します(ビットマップmWidth
とmHeight
フィールドは です-1
)。どこに問題がありますか?
(path
2回目、3回目などの繰り返しは問題ありません。これを確認しました)
編集
サイクルの例:
Ss ご覧のとおり、このサイクルには異常はありません
android - Android:BitmapFactory.decodeFile/OpenCVは無効なビットマップを返します
カメラアクティビティで写真を撮り、保存した場所から読み取ろうとしています。残念ながら、ビットマップは次の人から返されました。
高さと幅は-1です。私はOpenCVを使用していて、画像を
適切な行列を取得します。私はそれをビットマップに変換することはできませんが。するとき
再び同じ結果が得られます:幅と高さが-1のビットマップ。画像形式に注意する必要がありますか?カメラのインテントに設定できますか?すべきではない
フォーマットが何であるかを自動的に認識しますか?
私はこれをAndroid2.3.1とOpenCV2.3.1を搭載したSamsungGalaxySで実行しています
ご協力いただきありがとうございます。
android - Android: BitmapFactory.decodeStream(...) と Assets フォルダーで失敗する PNG 透明度
次の方法を使用して、Android アプリケーションのアセット フォルダーから PNG ファイルを取得しています。
次に、GridView の項目で ImageView のソースをその Bitmap に設定しています。
問題のレイアウト XML は次のとおりです。
その XML で参照されているスタイルは次のとおりです。
ImageView のソースを設定するコードは次のとおりです。
PNG 画像には透明な領域がいくつかありますが、何らかの理由で画像を GridView に表示すると、透明な領域が黒くなります。
いくつかの質問に先んじて: いいえ、Activity、ImageView、GridView、および GridView アイテムの背景は黒ではありません。実際のところ、背景色がどのように設定されていても、画像の透明な部分は常に黒として表示されます。
ただし、これを考慮してください... PNG画像をドローアブルフォルダーに配置し、ImageViewを次のように設定すると、透明度は完璧になります:
どういうわけかdecodeStream(...)メソッドを間違って使用していると確信していますが、何が間違っているのかわかりません。ここに示すように、元の方法を変更していくつかのオプションを設定しました。
しかし、それは私に同じ悪い結果をもたらしました。
アイデアはありますか?
ありがとうございました。
android - Android:可能な限り低品質のビデオフィードを録画し、個別のパケットで送信したいと思います。出来ますか?どのようにアプローチしますか?
基本的に、3g未満で数秒の遅延「ライブ」フィードを送信できるようにしたいと思います。品質が非常に低くても大丈夫です。必要に応じて、4ビットのグレースケールを使用することもできます(ただし、128〜256色が望ましいです)。必要に応じて、>1fpsで160x120まで下げたいと思います。この最も不器用な設定で完全に非圧縮とは、過飽和の低帯域幅接続を意味します。
単に画像としてスナップショットを調べる必要がありますか?可能な限り最低品質のJPEGに関するBitmapfactoryの機能に精通している人はいますか?
PNGまたはGIFを調べる必要がありますか?私の理解では、ソリッドフィールドはこれらで最もよく機能します。「ビデオ」を送り返すドローンを制御したいと思っているので、空のかなりの部分以外の固体フィールドに大きく依存できるかどうかはわかりません。サーバー接続が頻繁に失われたり回復したりすることが予想されるため、数秒の遅延のある偽のビデオは問題なく、さらに望ましいものです。
私はまともな信号で「3g」で128kのようになります、しかし私はそれを正確に信頼することはできません。私は必要なデコードサーバー側を行うことができます-それは問題ではないはずです。
だから私はあなたに尋ねます、スタック、あなたはインターネットを介してスマートフォンから見たいと思っており、良好な接続に依存することはできません。どのようにアプローチしますか?
android - Android BitmapFactory オプションを使用して画像をスケーリングする方法
BitmapFactory.decodeFile(path, options) で SD カードから画像をデコードしたい。
また、2048x2048 ピクセルよりも大きい画像を最大で 2048x2048 に縮小することも必要です (縦横比を維持します)。
ビットマップを取得した後に手動でこれを行うこともできますが、それには、既に割り当てられているバイトに加えて、大量のバイトを割り当てる必要があります。
その効果を得るには、BitmapFactory.Options オブジェクトをどのように設定すればよいですか?
ありがとう
android - 外部 PNG 画像をダウンロードすると透明な背景が失われる
次のように最初にダウンロードして、画像ビューに外部画像を表示しています。
次に、このビットマップを次のImageView
ように設定します。
これは、画像の 1 つが PNG であり、BitmapFactory
.
透明な背景を維持する方法を誰か教えてもらえますか?