brdcompat
bonnyfone
47
Visit GitHub RepoBitmaps

BitmapRegionDecoderCompat

Android Arsenal Download

BitmapRegionDecoderCompat (BRDCompat) is the 'compat' version of the official BitmapRegionDecoder API.

BitmapRegionDecoder can be used to decode a rectangle region from an image; it is particularly useful when an original image is large and you only need parts of the image.

The standard BitmapRegionDecoder (aka BRD) requires API level 10.

BRDCompat extends the compatibility down to API 8 and adds some extra useful methods.

Features

  • Extends compatibility down to API 8 (from 10)
  • Adds new methods like decodeBestRegion(), which extracts the best image sub-region given the specified params (required size, gravity). The best region means the biggest visual portion of the (downsampled) original image given the required gravity and the output sizes/ratio.

Download

Gradle dependency

Add the following 'compile' statement in your build.gradle file (requires jCenter repository):

dependencies {
    //...your dependecies
    compile 'org.bonnyfone:brdcompat:0.1'
}

How To...

...upgrade from the standard API

If you are already using the BitmapRegionDecoder API, just change the base class name from BitmapRegionDecoder to BitmapRegionDecoderCompat.

//BitmapRegionDecoder brd = BitmapRegionDecoder.newInstance(...);
BitmapRegionDecoderCompat brd = BitmapRegionDecoderCompat.newInstance(...);

...simulate the fallback for API < 10 on device/emulator running API 10+

For debug purpose only you can force the library to work in backward-compatibility mode by invoking the following static method (be sure to do this before the creation of any instance of BRDCompat):

BitmapRegionDecoderCompat.setForceFallbackImplementation(true);

Example

Check out the demo for a simple usage example.

result example

Contribute

Bug-reports, feedback and pull requests are always welcome ;)

License

Copyright 2015, Stefano Bonetta.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Become a better Android Developer
Millions of developers are learning at MindOrks

Online Training Program

Featured Blogs

Our Team

MindOrks is Certainly one of the best online blog to stay on top of all the Android development news, coding and design patterns. Finally a blog I can count on to keep myself updated with latest and greatest things happening in Android world.

Vipul Shah
Android Developer
Microsoft

Become Pro in Android by watching videos

OUR LEARNERS WORK AT