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

android - bitmapfactory が画像の読み込みに失敗する

複数の画像をmysqlデータベースからImageButtonにロードするAndroidアプリがあります。

以前は png を正常に読み込むことができましたが、現在は失敗しています (これまで jpg 画像では成功しませんでした)。画像のダウンロードに使用するコードは次のとおりです。

このエラーが発生します:-

ここここ、および他のいくつかの解決策として提案されているように、すでにさまざまな組み合わせを試しましたが、うまくいきません。何か不足していますか?入力した Web アドレスに画像が確実に存在します。

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

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

android - Android: MSSQL から画像を取得する

私はAndroidが初めてで、MSSQLから画像を取得して背景として設定しようとしています。

私も使用しようとしました:

ただし、何も機能しません。私の手順は正しく機能し、正しい数のボタンを作成しますが、画像はありません。

イメージファイルをイメージとしてMSSQLに保存し、varbinary(MAX)を試しました

前もって感謝します

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

android - メモリ不足例外なしで「onPictureTaken」から画像を回転するにはどうすればよいですか?

私はそこに多くの投稿を読みますか?しかし、私は正しい答えを見つけられません。

私はこれをやろうとします:

BitmapFactory を使わずに画像を回転させる方法はありますか? 画質を落とさずに画像を回転させたい!

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

android - Android で copyPixelsFromBuffer を使用しようとすると、「ピクセルに対して十分な大きさのバッファがありません」

次のコード スニピットで、「Caused by: java.lang.RuntimeException: Buffer not large for Pixels」エラーが発生します。

ビットマップの幅と高さに応じて割り当てられるため、バッファーは十分に大きいと思いました。問題の原因は何ですか?

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

android - Android:BitmapFactory.decodeFileで開かれたファイルの向きが間違っています

タイトルと同じように単純ですが、BitmapFactory.decodeFileで開かれたファイルは、ImageViewに表示されるときに間違った方向になります。カメラからキャプチャされてtmpファイルに保存された画像。デバイスにdata.getData()nullを返すバグがある場合は、少なくともファイルへの参照があります。

これは、カメラアクティビティを開始し、画像ファイルをキャプチャするだけです。

そして、このファイルは画像のサイズを変更します

ExifOrientationを取得しようとしましたが、ロードしたときにファイル自体が正しい方向に表示されるため、常に0になります。ファイルは間違った方向で表示されます。

よろしく

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

android - 「bmp」をsdカードにbmpファイルとして保存する方法は?

今、ビデオファイルからフレーム画像を取得しようとしていますが、その方法を知っています(ffmpegまたはgetFrameAtTime関数を使用)

そのため、プログラムでフレームを bmp 構造として取得できますが、これをpngまたはとして保存するとjpeg

ビデオの品質は良好ですが、これらの品質は良くありません

だから私はこのbmpを圧縮せずに保存したい

関数はこれで機能すると聞いてcopyPixelsToBufferいますが、できませんでした... T_T ...

誰かが私にこれを使用する方法を説明できますか?? //私の録音サイズは (1280, 720)

もっと大きなサイズでビデオを録画する必要がありますか? または、フレームをビットマップとしてSDカードに保存する必要がありますか???

圧縮せずに???

//私の推測では、圧縮用です。圧縮は品質との一種のトレードオフです

今、私はこの機能を使用してpngまたはjpegを作成しました Bitmap.compress(CompressFormat.PNG, 100, fos)

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

java - BitmapFactory.decodeStreamの中断

BitmapFactory.decodeStream次のような接続ストリームで呼び出すワーカースレッドがあると仮定します。

BitmapFactory次に、割り当てられたメモリを再利用するために、このスレッドをすぐに終了する必要があります。UIスレッドにメモリが必要なため、終了するのを待つことはできません。例は単純化されているので、なぜこのようにする必要があるのか​​については詳しく説明しません。別のアプローチではなく、このアプローチの解決策を探しています。

スレッドは他のことも行っているので、残酷にスレッドを強制終了することはできません。また、いくつかのものがリークする可能性があります。唯一のクリーンな方法は、を使用することworkerThread.interrupt()です。

残念ながら、BitmapFactoryはスレッドが中断されたかどうかを気にせず、作業を続行します。Thread.currentThread().isInterrupted()明らかに、存在した直後にチェックしていますが、それだけでは不十分です。非常に遅いインターネット接続では、画像の読み込みに数年かかる場合があり、アプリケーションがフリーズします(UIスレッドが待機していることを忘れないでください)。

だから問題は-スレッドが中断されたときにどうやってBitmapFactory停止させるのですか?InputStream私の考えは、カスタムでラップし、FilterInputStreamすべての関数を上書きし(実際には多くはありません)、それぞれでスレッドが中断されているかどうかを確認することです。はいの場合、いくつか投げますIOException。この方法BitmapFactoryは、からデータを取得しようとするとすぐに停止し、InputStream十分なはずです。より良い方法はありますか?close()いいえの場合、スローする前にストリームを呼び出す必要がありIOExceptionますか?

そして少し注意してください:追加のメモリを待っているUIスレッドは素晴らしいを表示しているProgressBarので、ワーカースレッドが終了するのに1〜2秒かかる場合でも問題はありません。

ありがとう!

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

android - BitmapFactory.decodeStream の問題

ほぼ 150 の画像フレームを使用して、フレームごとのアニメーションでアプリケーションを作成しています。アニメーションは、Handler を使用して Image ビューの背景イメージを変更することで再生されます。ハンドラー内で、フォルダー /mnt/sdcard/Android/data/ApplicationPackage から画像を取得し、次の方法で画像ビューの背景として動的に変更しています。

一部の画像ではビットマップの作成に時間がかかるため、ファイル入力ストリームのデコードに問題が発生します。画像ファイルのサイズは各画像でほぼ 40 KB 未満ですが、同じサイズのファイルの外部ディレクトリから画像をデコードするのにかかる時間は異なります。ファイルサイズと読み込みをサンプリングしようとしましたが、画像の鮮明さに直接影響します. 画像を外部フォルダからビットマップにロードし、すべての画像を同じ期間でロードするより良い方法を教えてください。

ありがとう、ティム

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

android - TouchImageView で bitmapfactory を使用すると OutOfMemoryError が発生する

TouchImageView(https://github.com/MikeOrtiz/TouchImageView) を使用してズーム可能な画像を表示するフラグメントを作成しようとしています

フラグメントには、画像を変更するためのスピナーもあります。問題は、最初の画像が正常に読み込まれることですが、スクローラーを使用して画像を変更すると、OutOfMemoryError が発生し、プログラムがクラッシュします。これが私のコードです

「recylce()」は最初の画像を削除して、メモリ内の新しい画像に場所を与えるべきではありませんか? MB 単位の画像サイズは 1.4、1.5、1.5、1.3 です。

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

java - Bitmap.createBitmap()がソースビットマップとは異なる可変ビットマップを返すのはなぜですか?

文書化Bitmap createBitmap (Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)方法によると:

オプションの行列によって変換された、ソースビットマップのサブセットから不変のビットマップを返します。新しいビットマップは、ソースと同じオブジェクトであるか、コピーが作成されている可能性があります。元のビットマップと同じ密度で初期化されます。ソースビットマップが不変であり、要求されたサブセットがソースビットマップ自体と同じである場合、ソースビットマップが返され、新しいビットマップは作成されません。

既存のビットマップに方向を適用するメソッドがあります。

私はここからそれを呼んでいます:

tmpPhoto不変であることを確認しましたgetOrientedPhoto()が、tmpPhotoのコピーである可変画像を返します。Bitmap.createBitmap()新しいビットマップオブジェクトを作成せずに使用する方法と、私のコードの何が問題になっているのかを知っている人はいますか?