本文整理匯總了Java中android.graphics.BitmapRegionDecoder.getWidth方法的典型用法代碼示例。如果您正苦於以下問題:Java BitmapRegionDecoder.getWidth方法的具體用法?Java BitmapRegionDecoder.getWidth怎麽用?Java BitmapRegionDecoder.getWidth使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類android.graphics.BitmapRegionDecoder
的用法示例。
在下文中一共展示了BitmapRegionDecoder.getWidth方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: getHotseatPalette
import android.graphics.BitmapRegionDecoder; //導入方法依賴的package包/類
@TargetApi(Build.VERSION_CODES.N)
private Palette getHotseatPalette() {
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
if (AndroidVersion.isAtLeastNougat) {
try (ParcelFileDescriptor fd = wallpaperManager
.getWallpaperFile(WallpaperManager.FLAG_SYSTEM)) {
BitmapRegionDecoder decoder = BitmapRegionDecoder
.newInstance(fd.getFileDescriptor(), false);
int height = decoder.getHeight();
Rect decodeRegion = new Rect(0, (int) (height * (1f - HOTSEAT_FRACTION)),
decoder.getWidth(), height);
Bitmap bitmap = decoder.decodeRegion(decodeRegion, null);
decoder.recycle();
if (bitmap != null) {
return Palette.from(bitmap).clearFilters().generate();
}
} catch (IOException | NullPointerException e) {
e.printStackTrace();
}
}
Bitmap wallpaper = ((BitmapDrawable) wallpaperManager.getDrawable()).getBitmap();
return Palette.from(wallpaper)
.setRegion(0, (int) (wallpaper.getHeight() * (1f - HOTSEAT_FRACTION)),
wallpaper.getWidth(), wallpaper.getHeight())
.clearFilters()
.generate();
}
示例2: getStatusBarPalette
import android.graphics.BitmapRegionDecoder; //導入方法依賴的package包/類
@TargetApi(Build.VERSION_CODES.N)
private Palette getStatusBarPalette() {
WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
int statusBarHeight = getResources()
.getDimensionPixelSize(R.dimen.status_bar_height);
if (AndroidVersion.isAtLeastNougat) {
try (ParcelFileDescriptor fd = wallpaperManager
.getWallpaperFile(WallpaperManager.FLAG_SYSTEM)) {
BitmapRegionDecoder decoder = BitmapRegionDecoder
.newInstance(fd.getFileDescriptor(), false);
Rect decodeRegion = new Rect(0, 0,
decoder.getWidth(), statusBarHeight);
Bitmap bitmap = decoder.decodeRegion(decodeRegion, null);
decoder.recycle();
if (bitmap != null) {
return Palette.from(bitmap).clearFilters().generate();
}
} catch (IOException | NullPointerException e) {
e.printStackTrace();
}
}
Bitmap wallpaper = ((BitmapDrawable) wallpaperManager.getDrawable()).getBitmap();
return Palette.from(wallpaper)
.setRegion(0, 0, wallpaper.getWidth(), statusBarHeight)
.clearFilters()
.generate();
}
示例3: run
import android.graphics.BitmapRegionDecoder; //導入方法依賴的package包/類
@Override
public BitmapRegionDecoder run(JobContext jc) {
if (!prepareInputFile(jc)) return null;
BitmapRegionDecoder decoder = DecodeUtils.createBitmapRegionDecoder(
jc, mFileDescriptor.getFileDescriptor(), false);
mWidth = decoder.getWidth();
mHeight = decoder.getHeight();
return decoder;
}
示例4: onFutureDone
import android.graphics.BitmapRegionDecoder; //導入方法依賴的package包/類
@Override
public void onFutureDone(Future<BitmapRegionDecoder> future) {
BitmapRegionDecoder decoder = future.get();
if (decoder == null) return;
int width = decoder.getWidth();
int height = decoder.getHeight();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = BitmapUtils.computeSampleSize(
(float) SIZE_BACKUP / Math.max(width, height));
Bitmap bitmap = decoder.decodeRegion(new Rect(0, 0, width, height), options);
mHandler.sendMessage(mHandler.obtainMessage(
MSG_UPDATE_IMAGE, new ImageBundle(decoder, bitmap)));
}
示例5: doInBackground
import android.graphics.BitmapRegionDecoder; //導入方法依賴的package包/類
@Override
protected Bitmap doInBackground (final Void... params) {
LOG.i("Generating preview: s=%s q=%s.", this.dlg.getScale(), this.dlg.getQuality());
try {
final Bitmap scaled = this.srcMetadata.getBitmap(this.dlg.getScale().getPercentage());
final ByteArrayOutputStream compOut = new ByteArrayOutputStream(512 * 1024);
if (scaled.compress(Bitmap.CompressFormat.JPEG, this.dlg.getQuality().getPercentage(), compOut)) {
this.summary
.append(this.srcMetadata.getWidth()).append(" x ").append(this.srcMetadata.getHeight())
.append(" (").append(IoHelper.readableFileSize(this.srcMetadata.getSize())).append(")")
.append(" --> ").append(scaled.getWidth()).append(" x ").append(scaled.getHeight())
.append(" (").append(IoHelper.readableFileSize(compOut.size())).append(")");
final BitmapRegionDecoder dec = BitmapRegionDecoder.newInstance(compOut.toBufferedInputStream(), true);
try {
final int srcW = dec.getWidth();
final int srcH = dec.getHeight();
final int tgtW = this.dlg.getRootView().getWidth(); // FIXME Workaround for ImageView width issue. Fix properly with something like FixedWidthImageView.
final int tgtH = this.imgPreview.getHeight();
final int left = srcW > tgtW ? (srcW - tgtW) / 2 : 0;
final int top = srcH > tgtH ? (srcH - tgtH) / 2 : 0;
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inPurgeable = true;
options.inInputShareable = true;
return dec.decodeRegion(new Rect(left, top, left + tgtW, top + tgtH), options);
}
finally {
dec.recycle();
}
}
this.summary.append("Failed to compress image."); //ES
return null;
}
// XXX Many cases of OutOfMemoryError have been reported, particularly on low end hardware.
// Try not to upset the user too much by not dying completely if possible.
catch (final Throwable e) {
LOG.e("Failed to generate preview image.", e);
this.summary.append(e.toString());
return null;
}
}
示例6: setRegionDecoder
import android.graphics.BitmapRegionDecoder; //導入方法依賴的package包/類
public synchronized void setRegionDecoder(BitmapRegionDecoder decoder) {
mRegionDecoder = Utils.checkNotNull(decoder);
mImageWidth = decoder.getWidth();
mImageHeight = decoder.getHeight();
mLevelCount = calculateLevelCount();
}