我有一个大约24x24像素的图像,我想要缩放到720 * 720左右。变焦将产生非常像pixeled的图像,如:
我希望像这样模糊以删除块像素:
我尝试使用ScriptIntrinsicBlur来模糊我的Bitmap,但我们可以在ScriptIntrinsicBlur中设置的最大半径是25,我需要更大的像250这样的东西。所以我尝试在我的位图上运行几次ScriptIntrinsicBlur(大约10次)得到足够的结果,但当然现在所有这些循环它很慢,每张图像大约1000毫秒:(
aRS := getRenderScript;
while aRadius > 0 do begin
aInput := TJAllocation.JavaClass.createFromBitmap(aRS, aBitmap);
aOutPut := TJAllocation.JavaClass.createTyped(aRS, aInput.getType());
aScript := TJScriptIntrinsicBlur.javaclass.create(aRS, TJElement.javaclass.U8_4(aRS));
aTmpRadius := Min(25, aRadius);
aRadius := aRadius - aTmpRadius;
ascript.setRadius(aTmpRadius);
ascript.setInput(aInput);
ascript.forEach(aOutput);
aoutput.copyTo(aBitmap);
ascript := nil;
aInput := nil;
aOutPut := nil;
end;
aRS := nil;
我可以做些什么来提高速度?