gpt4 book ai didi

android - 如何在android中使用jhlabs图片库的Warp滤镜

转载 作者:行者123 更新时间:2023-12-05 00:07:28 27 4
gpt4 key购买 nike

我想在我的 android 应用程序中使用 jhlabsWarpFilter。为此,我使用了 jhlabs 提供的 jar,但其中没有 WarpFilter 类的定义。我推荐了WarpFilterthis链接。我试图通过在我的应用程序中复制它来使用该类。但问题是,它使用了一些android sdk不支持的类。我也提到了Google code链接,但它也没有为此提供任何实现。任何人都可以建议我一些解决方案吗?有没有其他提供变形图像功能的库/jar?请帮我解决这个问题。

谢谢。

最佳答案

使用这样的过滤器:

final Bitmap bmporg = BitmapFactory.decodeByteArray(byteArrayorg, 0, byteArrayorg.length);

Line line1 = new Line(0, 0, bmporg.getWidth(), 0);
Line line2 = new Line(0, bmporg.getHeight()/2, bmporg.getWidth(), bmporg.getHeight()/2);
Line line3 = new Line(0, bmporg.getHeight(), bmporg.getWidth(), bmporg.getHeight());

final Line[] lineArray = {line1, line2, line3 };

Line line4 = new Line(0, 0, bmporg.getWidth(), bmporg.getHeight());
Line line5 = new Line(0, 0, bmporg.getWidth(), bmporg.getHeight());
Line line6 = new Line(0, 0, bmporg.getWidth(), bmporg.getHeight());

final Line[] lineArray2 = {line4, line5, line6 };

FieldWarpFilter fieldWarpFilter = new FieldWarpFilter();
fieldWarpFilter.setAmount(amountFieldWarpFilter);
fieldWarpFilter.setPower(powerFieldWarpFilter);
fieldWarpFilter.setStrength(strengthFieldWarpFilter);
fieldWarpFilter.setInLines(lineArray);
fieldWarpFilter.setOutLines(lineArray2);
int[] src22 = AndroidUtils.bitmapToIntArray(bmporg);
int width22 = bmporg.getWidth();
int height22 = bmporg.getHeight();
int[] dest22 = fieldWarpFilter.filter(src22, width22, height22);
Bitmap destBitmap = Bitmap.createBitmap(dest22, width22, height22, Bitmap.Config.ARGB_8888);

imageView1.setImageBitmap(destBitmap);

关于android - 如何在android中使用jhlabs图片库的Warp滤镜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114499/

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