标签:java android bitmapfactory bitmapregiondecoder
我正在处理太大的GeoTiff / PNG文件,无法在我的代码中进行整体处理.
是否有可能在bitmapfactory中解码文件的特定区域(例如,由两个x,y坐标给出)?在http://developer.android.com/reference/android/graphics/BitmapFactory.html(Android的开发人员参考)中找不到类似的东西.
谢谢!
随着kcoppock的暗示我已经设置了以下解决方案.
虽然我想知道为什么rect需要由Rect(左,下,右,顶)而不是Rect(左,上,右,下)初始化…
示例电话:
Bitmap myBitmap = loadBitmapRegion(context, R.drawable.heightmap,
0.08f, 0.32f, 0.13f, 0.27f);
功能:
public static Bitmap loadBitmapRegion(
Context context, int resourceID,
float regionLeft, float regionTop,
float regionRight, float regionBottom) {
// Get input stream for resource
InputStream is = context.getResources().openRawResource(resourceID);
// Set options
BitmapFactory.Options opt = new BitmapFactory.Options();
//opt.inPreferredConfig = Bitmap.Config.ARGB_8888; //standard
// Create decoder
BitmapRegionDecoder decoder = null;
try {
decoder = BitmapRegionDecoder.newInstance(is, false);
} catch (IOException e) {
e.printStackTrace();
}
// Get resource dimensions
int h = decoder.getHeight();
int w = decoder.getWidth();
// Set region to decode
Rect region = new Rect(
Math.round(regionLeft*w), Math.round(regionBottom*h),
Math.round(regionRight*w), Math.round(regionTop*h));
// Return bitmap
return decoder.decodeRegion(region, opt);
}
解决方法:
您应该查看BitmapRegionDecoder
.它似乎准确描述了您正在寻找的用例.
标签:java,android,bitmapfactory,bitmapregiondecoder 来源: https://codeday.me/bug/20190624/1282044.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。