問題タブ [bitmapdrawable]

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 に答える
604 参照

android - Android : VectorDrawables を使用した roundedImageView

Vector Drawables を RoundedImageView に設定しているときにエラーが発生します。ドローアブルを BitmapDrawable にキャストしようとしているが、VectorDrawable である必要があるため (私が間違っていなければ)、誰もが jpg であるかどうかにかかわらず、任意のタイプの画像を処理する方法を提案できますか? 、png またはベクトル。

RoundedImageView.java:

私のエラーログ:

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

android - ユニバーサル イメージ ローダーと BitmapDrawable

B64 に画像があり、その画像を Universal Image Loader の読み込み画像として使用したいのですが、より良い画像は URL から読み込まれません。そのため、b64 でその URL からビットマップを作成し、それを BitmapDrawable に変換します。次のようにすると、結果は正常に表示されます。

しかし、DisplayImageOptions で、ロード時にその bitmapDrawable をイメージとして設定すると、イメージは表示されません。私は次のことをしています:

ご覧のとおり、読み込み時に画像としてだけでなく、失敗したときにも画像としてビットマップ ドローアブルを設定しています (URL からより良い画像を読み込んでいるときにエラーが発生した場合にその画像を変更したくないため)。その結果、ビットマップ ドローアブルは表示されません。私たちは何を間違っていますか?

更新: 何が起こっていたかをデバッグした後、問題はビットマップ ドローアブルではなく、サポートされており、正常に動作していることがわかりました。問題は、ある時点よりもデフォルトの表示オプション ビルダー (mDisplayImageOptionsDefaultBuilder) を使用していたことです。

したがって、Universal Image Loader にバグがあります。これは、次のように表示画像オプションを作成しているためです。

別の「解決策」は次のとおりです。

しかし、内部的にはリソースが保存されていることが保存されるため、ドローアブルは表示されず、代わりに保存されたリソースが表示されます。新しい DisplayImageOptionsBuilder の作成は私にとってはうまくいきましたが、showImageOnLoading がドローアブルで設定されている場合、古いリソースが自動的にクリアされるとよいでしょう。

前もって感謝します。

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

android - ビットマップをウィンドウの背景として設定する

BitmapDrawable特定のアクティビティのウィンドウの背景として設定したい。しかし、私は最近、ドローアブルがガベージ コレクターによって簡単に収集されないことを読みました。それで、これは悪い習慣ですか?

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

android - 縦横比を維持しながら最も小さい画像をwindowBackgroundとして設定する方法

専門家の注意を求めています..アプリの背景として画像(デバイス画面の解像度よりも小さい)を設定したい..ウィンドウ全体を埋めたいが、画像の縦横比を維持したい...(画像の縦横比がウィンドウの縦横比と一致しない場合、画像がトリミングされます) .

注: これは可能です。Contacs+ アプリを参照してください。彼らはそれを行いました.どんなに小さくても、ウィンドウを埋め、アスペクト比を維持し (伸びません)、残りの画像はトリミングされます。誰でも私にこれの解決策を教えてもらえますか

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

android - バックグラウンド ドローアブルとしての LayerDrawable は、minSdkVersion=15 以下では機能しません

LayerDrawable( API レベル 1 で追加)の SDK バージョンの制約は見つかりませんでしたが、背景として使用しているものは、minSdkVersion に応じて異なる動作をします: 15 以下の場合、背景は完全に黒になります。 19 以上 (KitKat<) の場合、レイヤーは期待どおりに表示されます。

レイヤーリストの最初の項目をプログラムで置き換えています。クラスの使用方法は次のLayerDrawableとおりです(ただし、問題はないはずです)。

mylayerdrawable は次のようになります。

bgDrwblデバッグ中に、 19 と比較して minSdkVersion=15の次のメンバーが欠落していることに気付きました。

  • LayerDrawable.mLayerState.mAutoMirrored
  • LayerDrawable.mLayoutDirection(基本クラスのメンバー: Drawable)

誰かが私のように LayerDrawable を使用している場合(?)、それらのいずれかが重要かどうかはわかりませんがLayerDrawable、異なる SDK バージョンで を使用することに関する警告も提案も見つかりませんでした。ヒントはありますか?

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

android - BitmapDrawable tileMode を設定すると、アプリが再起動します

ほとんどのデバイスではアプリが正常に動作していますが、一部のデバイス (LG G3、Samsung Galaxy S6 など) では奇妙なエラーが発生し、展開できません。

レイアウトの背景である 上の何か ( / / ) にtileMode(XML 経由またはプログラムで)設定すると、その背景が完全に黒くなり、約 20 秒後にアプリが再起動します。問題が発生する兆候はありません (いいえLogCat のメッセージ、私のアクティビティのこれらのコールバックはどれも呼び出されません: 、、)。clamprepeatmirrorBitmapDrawableonPause()onStop()onDestroy()

これらのフリーズ/クラッシュには、Bitmap使用されているものに応じていくつかの矛盾があったため、画像をいじり始め.png、これらの画像のサイズを小さくすれば、これらのクラッシュ (ほとんど) を取り除くことができることがわかりました ( <200x200)。

以来

  • まだいくつかのクラッシュがあり、

  • すべてのデバイスのサイズのしきい値について確信が持てない

私はまだ一般的な解決策を探しています。おそらくあなたの何人かが私を助けてくれるでしょう。

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

java - ビットマップから画像を保存できません

cachePath.createNewFile();の結果が無視されるという警告が表示されます。それ以外の場合、次のコードは画像を携帯電話に保存しません。私に何ができる?

この方法でバックエンドから画像をダウンロードします。

ビットマップは確かに存在しません:android.graphics.Bitmap@12d9cc4

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

android - Android: BitmapDrawable を ClipDrawable にキャストできません

Android Jellybean (SDK 18) を使用して単純な ClipDrawable を実装しようとしています。BitmapDrawable ではなく Drawable を返すときに ImageView.getDrawable() のキャスト エラーが発生する理由がわかりません

アクティビティの onCreate() に関連するコードは次のとおりです。

これで ClassCastException が発生するのはなぜですか? BitmapDrawable と ClipDrawable は Drawable のサブクラスであることを知っているので、それらを互いにキャストすることはできません。しかし、image.getDrawable() がドローアブルだけでなく BitmapDrawable を返すのはなぜですか? ドキュメントに何か欠けていますか?

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

android - アプリ リソースとテスト リソースからの異なるドローアブル読み込み

作業中のアプリの UI テストをいくつか書いていますが、プッシュ通知に基づいて画像を切り替える必要があります。プッシュ通知なしでテストを作成するために、png ファイルを androidTest res ディレクトリに配置し、テスト リソースのリソース ID を使用して ContextCompat.getDrawable() でロードしています。また、アプリ リソースの ID を使用して、アプリ リソースから同じ画像を読み込んでいます。

リソースをロードするコードは次のとおりです。

drawable1 は BitmapDrawable のインスタンスで、drawable2 は NinePatchDrawable のインスタンスです。drawable2 の基礎となる PNG は drawable1 の PNG のコピーであるため、両方とも BitmapDrawables であると予想されます。これを回避するようにコーディングすることはできますが、将来の参考のためになぜこれが起こるのかを理解したいと思います。