日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BitmapFactory。Options.inSampleSize用法

發布時間:2024/1/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BitmapFactory。Options.inSampleSize用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
BitmapFactory。Options.inSampleSize用法

BitmapFactory.decodeFile(imageFile);

用BitmapFactory解碼一張圖片時,有時會遇到該錯誤。這往往是由于圖片過大造成的。要想正常使用,則需要分配更少的內存空間來存儲。

BitmapFactory.Options.inSampleSize

設置恰當的inSampleSize可以使BitmapFactory分配更少的空間以消除該錯誤。inSampleSize的具體含義請參考SDK文檔。例如:

BitmapFactory.Options opts = new BitmapFactory.Options();opts.inSampleSize = 4;Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);

設置恰當的inSampleSize是解決該問題的關鍵之一。BitmapFactory.Options提供了另一個成員inJustDecodeBounds。

BitmapFactory.Options opts = new BitmapFactory.Options();opts.inJustDecodeBounds = true;Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);
??

設置inJustDecodeBounds為true后,decodeFile并不分配空間,但可計算出原始圖片的長度和寬度,即opts.width和opts.height。有了這兩個參數,再通過一定的算法,即可得到一個恰當的inSampleSize。

查看Android源碼,Android提供了一種動態計算的方法。

public static int computeSampleSize(BitmapFactory.Options options,int minSideLength, int maxNumOfPixels) {int initialSize = computeInitialSampleSize(options, minSideLength,maxNumOfPixels);int roundedSize;if (initialSize <= 8) {roundedSize = 1;while (roundedSize < initialSize) {roundedSize <<= 1;}} else {roundedSize = (initialSize + 7) / 8 * 8;}return roundedSize;}private static int computeInitialSampleSize(BitmapFactory.Options options,int minSideLength, int maxNumOfPixels) {double w = options.outWidth;double h = options.outHeight;int lowerBound = (maxNumOfPixels == -1) ? 1 :(int) Math.ceil(Math.sqrt(w * h / maxNumOfPixels));int upperBound = (minSideLength == -1) ? 128 :(int) Math.min(Math.floor(w / minSideLength),Math.floor(h / minSideLength));if (upperBound < lowerBound) {// return the larger one when there is no overlapping zone.return lowerBound;}if ((maxNumOfPixels == -1) &&(minSideLength == -1)) {return 1;} else if (minSideLength == -1) {return lowerBound;} else {return upperBound;}} 使用該算法,就可動態計算出圖片的inSampleSize。BitmapFactory.Options opts = new BitmapFactory.Options();opts.inJustDecodeBounds = true;BitmapFactory.decodeFile(imageFile, opts);opts.inSampleSize = computeSampleSize(opts, -1, 128*128); opts.inJustDecodeBounds = false;try {Bitmap bmp = BitmapFactory.decodeFile(imageFile, opts);imageView.setImageBitmap(bmp);} catch (OutOfMemoryError err) {}

轉載于:https://www.cnblogs.com/lost-in-code/archive/2012/04/06/2435325.html

總結

以上是生活随笔為你收集整理的BitmapFactory。Options.inSampleSize用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品人妻一区二区三区免费 | 青青草在线播放 | 亚洲专区在线 | 日本一区二区免费看 | 久久精品视频一区二区三区 | av中亚 | 西西人体做爰大胆gogo直播 | 日韩视频一区二区三区在线播放免费观看 | 天堂网wwww| av鲁丝一区鲁丝二区鲁丝三区 | 精品毛片| 国产精品亚洲а∨天堂免在线 | www.黄色片.com| 欧美一区二区三区久久综合 | 亚洲精品黄色 | 成人精品黄段子 | 国产成人欧美一区二区三区的 | 三级av免费看 | 秋霞毛片 | 亚洲三级电影网站 | 国产成人在线观看免费网站 | 一区二区三区爱爱 | 中文字幕人妻一区二 | 欧美aa视频 | www.亚洲一区二区三区 | 91婷婷色| 黄色小说在线免费观看 | 久久亚洲电影 | 情侣黄网站免费看 | 玖玖爱资源站 | 视频在线播 | 三及毛片 | 日韩免费一二三区 | 国产在线18 | 精彩视频一区二区 | 久久久性视频 | 精品国产91久久久久久 | 久久五月天综合 | 少妇又色又紧又爽又刺激视频 | 91精品国产色综合久久不卡蜜臀 | 久草一区二区 | 黄色片免费视频 | 亚洲自拍偷拍av | 波多野结衣啪啪 | 黑人中文字幕一区二区三区 | 视频黄页在线观看 | 亚洲av永久纯肉无码精品动漫 | 中文字幕在线国产 | 欧美精品福利视频 | av成人资源 | 涩涩涩涩av| 国产成人精品综合 | 亚洲最大综合网 | 亚洲精品视频三区 | 一区二区国产精品精华液 | 日本在线www | 牛牛影视免费观看 | 欧美日韩国产中文 | 亚洲91色| 日韩精品一二区 | 亚洲av午夜精品一区二区三区 | 台湾佬美性中文娱乐 | 色乱码一区二区三区在线男奴 | 日韩国产激情 | 国产又大又黑又粗免费视频 | 欧美日韩制服 | 男生操女生在线观看 | 青青青视频在线 | 青草精品视频 | h片在线观看视频 | 国产av无码专区亚洲a∨毛片 | 国产chinesehd精品露脸 | 精品98| 五月婷婷社区 | 福利视频一区二区 | 一边摸上面一边摸下面 | 国产成人在线电影 | 日本一本在线视频 | 亚洲成人午夜电影 | 婷婷激情五月综合 | 亚洲一区二区三区欧美 | 国产成人一区二区三区别 | 一级做a爱片久久 | 91久久精品国产91性色tv | 精品xxxxx | 色哟哟免费视频 | 国产成人精品无码片区在线 | 午夜黄色在线观看 | 国产av日韩一区二区三区精品 | 69视频网站 | 国产sm调教一区二区 | 色哟哟入口国产精品 | 与亲女洗澡时伦了毛片 | 亚洲天堂性 | 姑娘第5集在线观看免费好剧 | 亚洲制服一区二区 | 成 人 黄 色 片 在线播放 | 日韩毛毛片 | 一二三四av |