首页 > 代码库 > 关于Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)这个方法
关于Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)这个方法
============问题描述============
Bitmap android.graphics.Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)
这个方法屌爆了,不会用
后面的四个参数到底啥意思啊
不是说截的是一个矩形的x,y,宽高吗/
为何我传入这个:
Bitmap bitmap = Bitmap.createBitmap(b1, 0, 20, b1.getWidth(),
b1.getHeight());
我的意思是从20的高度开始一直到图片的最后
就给我报这个错误
java.lang.IllegalArgumentException: y + height must be <= bitmap.height()
我擦,难道要我填写一个负数么...
============解决方案1============
这个方法很坑爹的。
动不动就内存溢出。。
建议使用
Bitmap dragimg=Bitmap.createScaledBitmap(bmp, lockWidth, lockWidth, true);
方法
输入值分别是
被转换的图片对象
宽和高
最后一个参数是 是否保证等比
============解决方案2============
你看看你吧图片放到哪一个文件夹里面了。
如果你放在
xxhdpi文件夹里面的话,图片读出来会比真实的要小。有可能会出你列出来的那种错误。
============解决方案3============
这个方法很坑爹的。
动不动就内存溢出。。
建议使用
Bitmap dragimg=Bitmap.createScaledBitmap(bmp, lockWidth, lockWidth, true);
方法
输入值分别是
被转换的图片对象
宽和高
最后一个参数是 是否保证等比
可以我不想要整张图片.我只想要部分的,就是我不想要最上面的...
你看看你吧图片放到哪一个文件夹里面了。
如果你放在
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============
java.lang.IllegalArgumentException: y + height must be <= bitmap.height()
是指从一张图片上取某一块,从y点开始到height结束的区域。而你的方法中截取的已经超出图片范围外了。
如:
Bitmap android.graphics.Bitmap.createBitmap(source, 0, 0, 100, 100)就是从图片source的左上角到图片100宽和100高截图
我知道啊,只是我截取的肯定是没有超过的
我的是:Bitmap.createBitmap(b1, 0, 20, b1.getWidth(),b1.getHeight());
,宽度和高度都没有超过,但是这个方法的计算方式是:20+b1.getHeight(),这个肯定超过了...
所以我觉得她这个方法的计算方式有问题
哦,哪我们就错了,后两个参数应该就是截取后图片的高度和宽度吧
关于Bitmap.createBitmap(Bitmap source, int x, int y, int width, int height)这个方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。