0
ウェブから写真を読み込み、その上でぼかしを実行して、ぼやけた画像を別のビットマップとして出力しようとしています。Android:レンダスクリプトエラー - ビットマップから割り当てを更新できません。サイズの不一致
URL url = new URL(myUrl);
mNormalImage = BitmapFactory.decodeStream(url.openStream());
final RenderScript rs = RenderScript.create(mContext);
final Allocation input = Allocation.createFromBitmap(rs, mNormalImage, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script;
script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(3.f);
script.setInput(input);
script.forEach(output);
output.copyTo(mBlurredImage);
と、私はエラーを取得しています:
android.renderscript.RSIllegalArgumentException:
Cannot update allocation from bitmap, sizes mismatch
ですが、なぜでしょう?私のコードは次のようになりますか
+1この回答は、次のような形式で作成してください。エラーは "output.copyTo(mBlurredImage);"で発生します。 mBlurredImageのディメンションがAllocation出力と一致しないことを示しています。また、 "CreateFromBitmap(rs、mNormalImage)"を使用して入力の割り当てを作成する方が良いです。この方法では、ビットマップデータを余分にコピーすることなく、実際に最適化された作成を使用します。 –