gpt4 book ai didi

android - Android 中 JHlabs 的图像过滤器

转载 作者:太空狗 更新时间:2023-10-29 15:07:57 25 4
gpt4 key购买 nike

我应用了 androidjhlabs.jar 的多个过滤器及其对我的工作。这是有效的过滤器:高斯滤波器反差滤镜反相滤波器灰阶滤波器大理石过滤器编织过滤器增益滤波器太阳能过滤器HSB过滤器但我尝试了其他一些无法给我正确输出的过滤器,一些图像被转换成黑色,一些被转换成白色,这意味着我不知道适当的比例、随机性、数量、湍流和网格类型等。我尝试了滤水器,但它仅应用于中心点意味着不适用于孔图像。这是代码:

public static Bitmap setWaterFilter(Bitmap src)
{
int width=src.getWidth();

int height=src.getHeight();

int pixel;

WaterFilter filter=new WaterFilter();

int[] bittoarr = AndroidUtils.bitmapToIntArray(src);

int[] result=filter.filter(bittoarr, width, height);

Bitmap applied = Bitmap.createBitmap(result, width, height,

Config.ARGB_8888);

return applied;
}

我像这样传递源代码:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.px);
bitmap=Effects.setWaterFilter(bitmap);
im.setImageBitmap(bitmap);

任何人都知道如何解决它。意味着其他过滤器也像 BoxBlur,Crop 也是。

最佳答案

这很简单 ;-) 您只需设置更多参数即可实现您想要的效果,如下所示:

使用 setRadius 设置波浪的半径,使用 setCenter 指向波浪的中心,图像源的宽度和高度最小值为 0,最大值为 1;

            WaterFilter waterFilter = new WaterFilter();
waterFilter.setEdgeAction(TransformFilter.WRAP);
waterFilter.setRadius(350.0f);
waterFilter.setWavelength(8.0f);
waterFilter.setAmplitude(0.6f);
waterFilter.setCentre(0.5f, 0.5f);
int[] src65 = AndroidUtils.bitmapToIntArray(inter);
int width65 = inter.getWidth();
int height65 = inter.getHeight();
int[] dest65 = waterFilter.filter(src65, width65, height65);
Bitmap destBitmap65 = Bitmap.createBitmap(dest65, width65, height65, Bitmap.Config.ARGB_8888);

关于android - Android 中 JHlabs 的图像过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19978418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com