Скользить обрезать изображение без просмотра изображения - PullRequest
0 голосов
/ 05 декабря 2018

Пытаюсь установить wallaper на заднем плане с помощью glide.It все работает нормально, но примененный wallaper похож на углы изображения. Так как я запускаю его в сервисе Service, я не могу использовать представление изображения для масштабирования изображения.Есть какой-либо способ обрезать изображение без него. Пробовал с помощью centerCrop () на Glide, но не работает.

@Override
public void onComplete(Photo photo) {

    String photoUrl = photo.getUrls().getRegular();
    Glide.with(getApplicationContext()).asBitmap().load(photoUrl)
        .apply(new RequestOptions().centerCrop()).into(new
    SimpleTarget<Bitmap>() {
        @Override
        public void onResourceReady(@NonNull Bitmap resource,
        @Nullable Transition<? super Bitmap> transition) {
            WallpaperManager wallManager =
            WallpaperManager.getInstance(getApplicationContext());
            try {
                wallManager.clear();
                wallManager.setBitmap(resource);

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете использовать пользовательские преобразования , чтобы обрезать растровое изображение при методе обратного вызова BitmapTransformation .

И есть несколько очень хороших ссылок для примеров преобразования, он очень прост в использовании.

Вот мой тестовый код с kotlin:

val photoUrl = "imageurl"
    val target = object : SimpleTarget<Bitmap>(450, 450) {
        override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
            imageView.setImageBitmap(resource)
        }
    }

    GlideApp.with(this@MainActivity).asBitmap().load(photoUrl)
        .apply(bitmapTransform(RoundedCornersTransformation(38, 0, RoundedCornersTransformation.CornerType.ALL)))
        .into(target)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...