这个方法很坑爹的。
动不动就内存溢出。。
建议使用
Bitmap dragimg=Bitmap.createScaledBitmap(bmp, lockWidth, lockWidth, true);
方法
输入值分别是
被转换的图片对象
宽和高
最后一个参数是 是否保证等比

解决方案 »

  1.   


    可以我不想要整张图片.我只想要部分的,就是我不想要最上面的...
    你看看你吧图片放到哪一个文件夹里面了。
    如果你放在
    xxhdpi文件夹里面的话,图片读出来会比真实的要小。有可能会出你列出来的那种错误。
      

  2.   


    可以我不想要整张图片.我只想要部分的,就是我不想要最上面的...
    你看看你吧图片放到哪一个文件夹里面了。
    如果你放在
    xxhdpi文件夹里面的话,图片读出来会比真实的要小。有可能会出你列出来的那种错误。
    我其实就是截屏.我得到的一个Bitmap是包括状态栏的,问题状态栏还是白色的,我现在就是要把最上面的那部分白色去掉.然后保存起来
      

  3.   


    可以我不想要整张图片.我只想要部分的,就是我不想要最上面的...
    你看看你吧图片放到哪一个文件夹里面了。
    如果你放在
    xxhdpi文件夹里面的话,图片读出来会比真实的要小。有可能会出你列出来的那种错误。
    我其实就是截屏.我得到的一个Bitmap是包括状态栏的,问题状态栏还是白色的,我现在就是要把最上面的那部分白色去掉.然后保存起来
    你获取图片bmp
    然后bmp.getHeight()就是这个图片的高度,比方300
    然后变色的高度为100
    那就设置
    Bitmap.createBitmap(bmp, 0, 100, bmp.getWidht(), 200);
    就行了。
      

  4.   

    java.lang.IllegalArgumentException: y + height must be <= bitmap.height()
    是指从一张图片上取某一块,从y点开始到height结束的区域。而你的方法中截取的已经超出图片范围外了。如:
    Bitmap android.graphics.Bitmap.createBitmap(source, 0, 0,  100, 100)就是从图片source的左上角到图片100宽和100高截图
      

  5.   

    我知道啊,只是我截取的肯定是没有超过的
    我的是:Bitmap.createBitmap(b1, 0, 20, b1.getWidth(),b1.getHeight());
    ,宽度和高度都没有超过,但是这个方法的计算方式是:20+b1.getHeight(),这个肯定超过了...
    所以我觉得她这个方法的计算方式有问题
      

  6.   


    可以我不想要整张图片.我只想要部分的,就是我不想要最上面的...
    你看看你吧图片放到哪一个文件夹里面了。
    如果你放在
    xxhdpi文件夹里面的话,图片读出来会比真实的要小。有可能会出你列出来的那种错误。
    我其实就是截屏.我得到的一个Bitmap是包括状态栏的,问题状态栏还是白色的,我现在就是要把最上面的那部分白色去掉.然后保存起来
    你获取图片bmp
    然后bmp.getHeight()就是这个图片的高度,比方300
    然后变色的高度为100
    那就设置
    Bitmap.createBitmap(bmp, 0, 100, bmp.getWidht(), 200);
    就行了。
    这样子导致我真正的图片大小只有100个单位的高度
    因为是从100-200,后面的200-300也是需要的,却截取不了
      

  7.   

    我知道啊,只是我截取的肯定是没有超过的
    我的是:Bitmap.createBitmap(b1, 0, 20, b1.getWidth(),b1.getHeight());
    ,宽度和高度都没有超过,但是这个方法的计算方式是:20+b1.getHeight(),这个肯定超过了...
    所以我觉得她这个方法的计算方式有问题
    哦,哪我们就错了,后两个参数应该就是截取后图片的高度和宽度吧
      

  8.   

    我现在想截取一部分图片,用这个方法报oom,请问有什么方法解决吗?