GPUImageView Черный фон - PullRequest
       38

GPUImageView Черный фон

0 голосов
/ 10 ноября 2019

В моем проекте я использую GPUImageView как ImageView, чтобы применить к нему некоторые фильтры, моя проблема в том, что между изображением появляются два черных пробела, поскольку GPUImageView простирается от FrameLayout,Я не могу добавить adjustViewBounds, я сделал какой-то трюк, но не сработал:

Я добавил временный ImageView, после загрузки изображения я установил Bitmap во временный ImageView чтобы я мог получить значения Ширина и Высота следующим образом:

Glide.with(getApplicationContext()).asBitmap().load(uri).fitCenter().into(new CustomTarget<Bitmap>(2000, 2000) {
            @Override
            public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                fullImage.setScaleType(GPUImage.ScaleType.CENTER_INSIDE);
                tmpImageView.setImageBitmap(resource);
                tmpImageView.setVisibility(View.INVISIBLE);
                ViewTreeObserver vto = tmpImageView.getViewTreeObserver();
                vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                    public boolean onPreDraw() {
                        tmpImageView.getViewTreeObserver().removeOnPreDrawListener(this);
                         mGPUImage.setLayoutParams(new FrameLayout.LayoutParams(BG_imgV.getMeasuredWidth(), BG_imgV.getMeasuredHeight(), Gravity.CENTER));
                        return true;
                    }
                });
            }

            @Override
            public void onLoadCleared(@Nullable Drawable placeholder) {

            }
        });

Но ничего не работает, кто-нибудь может помочь мне решить эту проблему?

enter image description here

...