有没有办法将图像作为位图加载到 Glide

新手上路,请多包涵

我正在寻找一种使用位图作为 Glide 输入的方法。我什至不确定它是否可能。这是为了调整大小。 Glide 具有良好的图像增强效果。问题是我有资源作为位图已经加载到内存中。我能找到的唯一解决方案是将图像存储到临时文件并将它们作为 inputStream/file 重新加载回 Glide .. 有没有更好的方法来实现这一点?

请在回答之前.. 我不是在谈论 Glide 的输出.. .asBitmap().get() 我知道。我需要输入帮助。

这是我的解决方法:

  Bitmap bitmapNew=null;
        try {
            //
            ContextWrapper cw = new ContextWrapper(ctx);
            File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
            File file=new File(directory,"temp.jpg");
            FileOutputStream fos = new FileOutputStream(file);
            bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
            fos.close();
            //
            bitmapNew = Glide
                    .with(ctx)
                    .load(file)
                    .asBitmap()
                    .diskCacheStrategy(DiskCacheStrategy.NONE)
                    .skipMemoryCache(true)
                    .into( mActualWidth, mActualHeight - heightText)
                    .get();

            file.delete();
        } catch (Exception e) {
            Logcat.e( "File not found: " + e.getMessage());
        }

我想避免将图像写入内部并再次加载它们。这就是我询问是否有办法将输入作为位图的原因

谢谢

原文由 Maher Abuthraa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 403
2 个回答

对于版本 4,您必须在 asBitmap() load()

 GlideApp.with(itemView.getContext())
        .asBitmap()
        .load(data.getImageUrl())
        .into(new SimpleTarget<Bitmap>() {
            @Override
            public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {}
            });
        }

更多信息: http ://bumptech.github.io/glide/doc/targets.html

原文由 Teffi 发布,翻译遵循 CC BY-SA 3.0 许可协议

2021 年:

   val bitmap=Glide.with(this).asBitmap().load(imageUri).submit().get()

原文由 Saurabh Dhage 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题