Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PictureClipper {
- private static Bitmap before;
- private static Bitmap after;
- private static RoundedBitmapDrawable img;
- public static RoundedBitmapDrawable makeItRound (String baseImage, Resources resources){
- byte[] imageBytes = Base64.decode(baseImage.getBytes(), Base64.DEFAULT);
- before = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
- if (before.getWidth() >= before.getHeight()){
- after = Bitmap.createBitmap(
- before,
- before.getWidth()/2 - before.getHeight()/2,
- 0,
- before.getHeight(),
- before.getHeight()
- );
- }else{
- after = Bitmap.createBitmap(
- before,
- 0,
- before.getHeight()/2 - before.getWidth()/2,
- before.getWidth(),
- before.getWidth()
- );
- }
- img = RoundedBitmapDrawableFactory.create(resources, after);
- img.setCircular(true);
- return img;
- }
- }
- public class BitmapUtils {
- public static Bitmap addWhiteBorder(Bitmap bmp, int borderSize) {
- Bitmap bmpWithBorder = Bitmap.createBitmap(bmp.getWidth() + borderSize * 2, bmp.getHeight() + borderSize * 2, bmp.getConfig());
- Canvas canvas = new Canvas(bmpWithBorder);
- canvas.drawColor(Color.WHITE);
- canvas.drawBitmap(bmp, borderSize, borderSize, null);
- return bmpWithBorder;
- }
- public static Bitmap getCroppedBitmap(Bitmap srcBmp){
- Bitmap dstBmp;
- if (srcBmp.getWidth() >= srcBmp.getHeight()){
- dstBmp = Bitmap.createBitmap(srcBmp,
- srcBmp.getWidth()/2 - srcBmp.getHeight()/2, 0,
- srcBmp.getHeight(), srcBmp.getHeight()
- );
- } else {
- dstBmp = Bitmap.createBitmap(srcBmp, 0,
- srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
- srcBmp.getWidth(), srcBmp.getWidth()
- );
- }
- return dstBmp;
- }
- }
Add Comment
Please, Sign In to add comment