Articles of bitmapfactory

位图分配,使用BitmapFactory.Options.inBitmap抛出IllegalArgumentException

我得到下一个exception:将inBitmap设置为true时,将问题解码到现有的位图中 ; 引起:java.lang.IllegalArgumentException:问题解码到现有的位图 在android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:460) … 有趣的是,在运行时,相同的代码在不同的地方失败: API:4.4.2,Nexus 4 API:4.3.1,三星s3 这是我的代码,它是这个DevBytes:位图分配video中显示的副本。 private BitmapFactory.Options options; private Bitmap reusedBitmap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ImageView imageView = (ImageView) findViewById(R.id.image_view); // set the size to option, the images we will load by using this option options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; options.inMutable = true; […]

Android:decodeFile对于内部存储中的文件总是返回null

我有一个文件本地保存到应用程序的私人存储。 我已经validation了它的存在,但是每当我调用BitmapFactory.decodeFile时,它总是返回null。 如果我将文件保存为资源并使用ImageView setImageResource,它总是显示正常。 问题是什么? 这里是片段: filename = "test.png"; if (doesFileExist(filename)) Bitmap bMap = BitmapFactory.decodeFile(filename); 我也试过: Bitmap bMap = BitmapFactory.decodeFile(getFilesDir().getPath() + filename);

Android如何使用BitmapFactory选项来缩放图像

我想用BitmapFactory.decodeFile(path,选项)从SD卡解码图像。 我还希望大于2048×2048像素的图像缩小到最大2048×2048(保持比例)。 我可以在获取位图后手动执行此操作,但除了已经分配的字节外,还需要分配大量的字节。 我应该如何设置我的BitmapFactory.Options对象来获得该效果? 谢谢