私はイメージの内容バイト[]形式を持っています。しかし、グライドを通してそれらをロードすると、壊れた画像が表示されます。私がやっていることを以下に示します。Glideを使用してイメージをバイト配列で読み込むには?
Glide.with(context)
.load(imageByteArray)
.asBitmap()
.placeholder(R.drawable.ic_broken)
.into(rowImageView);
imageByteArrayは、glideを使用せずに正常にビットマップに変換されます。したがって、イメージのバイト配列に問題はありません。
紛失しているものを教えてください。
また、私はグライドライブラリcom.github.bumptech.glideを使用しています:グライド:3.6.1 とAndroidサポートライブラリcom.android.support:support-v13:23.0.1
を編集
これは私がやっていることです。
String imageBytes = "HVao14fpmtHSev3OgsrQNsawkFzXNcY3BsfQla6..."
上記の文字列は、Web APIから受け取った実際のイメージのバイト数です。私は上記で定義されたコードをグライドして生じたバイト配列「imageByteArray」を適用していたより
私はこの
public static byte[] hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len/2];
for (int i = 0; i < len; i += 2) {
data[i/2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
return data;
}
のようなバイト配列にこの文字列を変換しています。
を使用して画像に
Base64
文字列を変換することができます...それだけで盲目の推測です...あなたは提供しなかったとして、どのようにこのバイト配列を取得する...この変数のスコープは何種類かのループで使用されています.... – Selvin私は理解しています。これらのタイプのコメントを与える代わりに、適切な答えで私を導いてください。ありがとう –
その後、適切な質問をしてください...このコードは、私はあなたの質問とライブラリの質問から – Selvin