Я использую ScriptIntrinsicBlur, чтобы размыть одно из моих растровых изображений, которое фактически заполнено одним SOLID COLOR. Но эффект размытия, который я получаю, действительно непрактичен. Пожалуйста, проверьте изображение ниже. Белая часть - это растровое изображение, которое размыто. Растровое изображение фактически заполняет все окно сплошным цветом.ScriptIntrinsicBlur создает несоответствующее размытие
Ниже может кодировать размывания.
static Bitmap blurBackground(Context context, int color, int width, int height){
Log.d("AppLock","RENDER DONE in " + System.currentTimeMillis());
Bitmap bitmap = Bitmap.createBitmap(200,200, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(color);
canvas.save();
Bitmap blurredBitmap = bitmap.copy(Bitmap.Config.ARGB_8888,true);
RenderScript renderScript = RenderScript.create(context);
Allocation inputAllocation = Allocation.createFromBitmap(renderScript,blurredBitmap, Allocation.MipmapControl.MIPMAP_FULL
, Allocation.USAGE_SHARED);
Allocation outputAllocation = Allocation.createTyped(renderScript,inputAllocation.getType());
ScriptIntrinsicBlur bluerScript = ScriptIntrinsicBlur.create(renderScript,Element.A_8(renderScript));
bluerScript.setInput(inputAllocation);
bluerScript.setRadius(15f);
bluerScript.forEach(outputAllocation);
outputAllocation.copyTo(blurredBitmap);
bitmap.recycle();
renderScript.destroy();
Log.d("AppLock","RENDER DONE in " + System.currentTimeMillis());
return blurredBitmap;
}
Я следовал учебник здесь Link To Tutorial
Я посмотрел на многочисленные посты здесь и я знаю, что я должен использовать ARGB_8888 для визуализации сценария. Также я попытался изменить Element на Element.U8_4(). Но то, что он делает, просто возвращает мне растровое изображение размером 200x200 пикселей и фактически заполняет все окно. Я не знаю, что я делаю неправильно. Помощь будет высоко оценена.
Я не понимаю. Если вы размываете сплошной цвет, вы получите сплошной цвет. какой смысл? или я что-то не понимаю? –
@Saehun Шон О, я действительно не понимаю, как работает размытие. Я хотел бы получить аналогичный эффект от изображения в ссылке. http://imgur.com/5hxYziV –