問題タブ [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.

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

android - BitmapFactory.decode *()を使用してビットマップ形式(RGBA_8888など)を指定するにはどうすればよいですか?

とを何度か呼び出していますが、RGB_565BitmapFactory.decodeFile()BitmapFactory.decodeResource()RGBA_8888など、ビットマップがデコードされる形式を指定したいと思います。

現在、デコードされたビットマップ形式は、着信画像に依存しているようです。または、既存のビットマップを特定の形式に変換する方法はありますか?

これが重要な理由は、を使用して画像をデコードしようとすると、一部の画像がタイプjnigraphicsのを返すためです。これは役に立たないと思います。フォーマットが既知の値のいずれでもない理由について、誰かがより多くの洞察を持っていますか?この場合、内蔵の画像ピッカーはこのようにデコードされた画像を正しく表示するので、それらを処理する方法が必要だと思います。AndroidBitmapFormatANDROID_BITMAP_FORMAT_NONE

ご入力いただきありがとうございます。

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

java - SurfaceViewにjpegをロードして表示する最速の方法は?

これは私の最後の質問へのちょっとしたフォローアップです:Canvasの描画が遅すぎます

より速く画像を描くことができるようになったので、私が直面している問題は、画像の実際の読み込みに非常に時間がかかることです。

私が取り組んでいるアプリでは、ユーザーはビデオをリアルタイムで表示しているかのように、ビデオフレーム(jpeg)を連続して再生できます。私はBitmapFactory.decodeFile()ビットマップに各jpegをロードするために使用しています。約240枚の画像があるため、一度にすべての画像を読み込むことができず、ヒープスペースをすべて使い果たしてしまいます。私が行っているのは、各画像の表示にかかる時間を短縮するために、個別のスレッドを介して一度に最大6つを配列にプリロードすることです。

残念ながら、画像の読み込みには50〜90ミリ秒かかり、42ミリ秒ごとに画像を表示する必要があります。おそらく画像をロードするより速い方法はありますか?

明確にするために、これらの画像はSDカード上のフォルダーにあり、すべて720x480jpegです。メモリ使用量を削減するために、その半分のサイズでサンプリングしています。

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

java - BitmapFactory.decodeFile が null を返す

Web 上の写真からビットマップを作成したいと考えています。最初に使用しようとしましBitmapFactory.decodeStreamたが、バグのために null が返されました (http://code.google.com/p/android/issues/detail?id=6066)。今、私は画像を保存してから使用しBitmapFactory.decodeFileていますが、それでもnullを返します。

何が間違っているか、または別の回避策のアイデアはありますか?

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

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

android - インターネット権限があっても、接続から画像を取得できません

リモート URL からビットマップを作成しようとすると問題が発生します。スニペットは次のとおりです。

回線で例外が発生していconn.connect()ます。それは言い java.net.SocketException: Permission deniedます。

私はすでにマニフェストに許可を追加しました:

コンピューターのブラウザーとエミュレーターのブラウザーの両方から画像を読み込むことができます。インターネット接続をブロックするファイアウォールはありません。いくつかの URL で試しましたが、何も機能しませんでした。

接続を正しく開いていますか? 代わりに HttpConnection を使用する必要がありますか?

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

android - 大きな画像の問題 ( java.lang.OutOfMemoryError: ビットマップ サイズが VM の予算を超えています )

多くの人として、私も大きな画像に問題があります。わかりました、ここに私のコードがあります。Stackoverflow で、BitmapFactory.Options を使用してこれを修正する方法を見つけました。しかし、私の状況では、ファイルからではなく画像を取得します。メモリに既に作成されているビットマップでこれを行う方法を誰か教えてもらえますか (電話のカメラからこの写真を取得します)

}

私の問題を解決する方法を教えてください。: (エミュレーターではこのエラーは発生しませんが、実際のデバイスではこのエラーが表示されます (ビットマップ サイズが VM の予算を超えています) よろしく、ピーター。

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

android - .NETで作成されたバイト配列を使用してAndroidのImageViewerウィジェットに画像を表示する

Androidアプリで使用したいバイト配列として、サーバーのデータベースに多数の画像が保存されています。

バイト配列はWindowsPhone7アプリの画像から作成されたため、.NETのWriteableBitmap(wbmp)を使用してIsolatedStorageFileStream(isfs)に保存します。

Androidアプリには、画像の1つを表示するために使用しようとしているImageViewウィジェットがあります。BitmapFactoryを使用してバイト配列(ペイロード)をデコードしようとしました:

しかし、それは機能しません-デバッガーをステップスルーすると、画像が表示されず、bmpがnullになります。これは、BitmapFactoryがバイト配列を正しくデコードできなかったことを示しているようです。

Windows Phone 7の場合、byte [](リアリティ)をMemoryStream(mstream)にロードし、そのMemoryStreamを使用してBitmap(bmp)のSetSourceメソッドを呼び出します。

そこで、Androidで、バイト配列をMemoryFileに読み込んでから、BitmapFactoryを使用してMemoryFileのInputStreamをロードしてみました。

しかし、これはまだ機能しません。

Androidでこの形式のバイト配列を正常にロードして画像を表示するにはどうすればよいですか?

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

android - BitmapAndroidのサイズを取得する

重複の可能性:
デコード後のビットマップのバイトサイズ?

このビットマップのサイズを取得できるようにする方法はありますか?getByteCount()を使用しようとしましたが、使用できませんか?

助言がありますか?

0 投票する
0 に答える
931 参照

android - BitmapFactory.decodeFile() が null を返す原因は何ですか?

BitmapFactory.decodeFile(String, Options) を使用して、別のサービスでインターネットからダウンロードした画像をロードしていますが、null が返されることがあります。これは画像が破損しているか不完全であることが原因だと思っていましたが、デコーダーを見つけたところ、実際には完全に見えるファイルが表示されていました。グリッチまたは不完全な部分。

これにより、decodeFile(...) が null を返す原因となる状況は何ですか? 不完全、破損、または非画像ファイルは明らかにそれらの 1 つですが、他にはありますか? これは、システムがメモリ不足になった場合の文書化された動作であることを理解していますが、実際には、このために OutOfMemoryError スロー可能オブジェクトを取得 (および処理) しています。

私がテストしているタブレットは、最近 3.0 から 3.1 にアップグレードされました。このバージョンでメモリ不足の動作は変更されましたか?

アップデート

logcat で次の行に気付きました。

08-17 16:14:46.190: DEBUG/skia(3948): libjpeg エラー 105 < Ss=%d、Se=%d、Ah=%d、Al=%d> read_scanlines から [640 841]

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

java - Android BitmapFactory decodeFile が呼び出される前に呼び出されます

ListView に画像のサムネイルを表示しようとしています。画像は SD カードの Camera フォルダにあります。BitmapFactory.decodeFile を使用して画像を読み込んでいます。ファイルのデコード中に ProgressDialog を表示したいと思います。最初に ProgressDialog を表示してから、for ループで decodeFile を呼び出そうとしています。ProgressDialog は、for ループの後まで表示されません。ProgressDialog が表示される前に、decodeFile の呼び出しが実行されているように見えます。

for ループの前に ProgressDialog を表示するにはどうすればよいですか?

public class ActivityProgressBar extends ListActivity {

}

for ループの後に ProgressDialog が表示されていることを確認するために、progressDialog.dismiss() の呼び出しをコメントアウトしました。読みやすくするために、ListView に画像を表示するコード行を削除しました。ログを使用して、まだ for ループにいることを確認しました。

ありがとう

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

android - BitmapFactory causing app to crash on orientation change

I'm writing an app that stores a String in an SQLite database, which represents the filepath of an image on the /sdcard/. I have this code in the onCreate() one of my activities:

The code works when I'm first loading the activity, but when I switch between screen orientations, it crashes my application. Any ideas on what I can do to fix this? I'd like to bee able to continue switching between orientations, but I don't need to refresh each time.

Also, I'm somewhat new, so please try to keep your answers not too complicated if possible.

Note that the file does exist in all cases.