Guest User

Untitled

a guest
Jan 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. public class PictureClipper {
  2.  
  3. private static Bitmap before;
  4. private static Bitmap after;
  5. private static RoundedBitmapDrawable img;
  6.  
  7. public static RoundedBitmapDrawable makeItRound (String baseImage, Resources resources){
  8. byte[] imageBytes = Base64.decode(baseImage.getBytes(), Base64.DEFAULT);
  9. before = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length);
  10. if (before.getWidth() >= before.getHeight()){
  11. after = Bitmap.createBitmap(
  12. before,
  13. before.getWidth()/2 - before.getHeight()/2,
  14. 0,
  15. before.getHeight(),
  16. before.getHeight()
  17. );
  18. }else{
  19. after = Bitmap.createBitmap(
  20. before,
  21. 0,
  22. before.getHeight()/2 - before.getWidth()/2,
  23. before.getWidth(),
  24. before.getWidth()
  25. );
  26. }
  27. img = RoundedBitmapDrawableFactory.create(resources, after);
  28. img.setCircular(true);
  29. return img;
  30. }
  31. }
  32.  
  33. public class BitmapUtils {
  34. public static Bitmap addWhiteBorder(Bitmap bmp, int borderSize) {
  35. Bitmap bmpWithBorder = Bitmap.createBitmap(bmp.getWidth() + borderSize * 2, bmp.getHeight() + borderSize * 2, bmp.getConfig());
  36. Canvas canvas = new Canvas(bmpWithBorder);
  37. canvas.drawColor(Color.WHITE);
  38. canvas.drawBitmap(bmp, borderSize, borderSize, null);
  39. return bmpWithBorder;
  40. }
  41.  
  42. public static Bitmap getCroppedBitmap(Bitmap srcBmp){
  43. Bitmap dstBmp;
  44. if (srcBmp.getWidth() >= srcBmp.getHeight()){
  45. dstBmp = Bitmap.createBitmap(srcBmp,
  46. srcBmp.getWidth()/2 - srcBmp.getHeight()/2, 0,
  47. srcBmp.getHeight(), srcBmp.getHeight()
  48. );
  49. } else {
  50. dstBmp = Bitmap.createBitmap(srcBmp, 0,
  51. srcBmp.getHeight()/2 - srcBmp.getWidth()/2,
  52. srcBmp.getWidth(), srcBmp.getWidth()
  53. );
  54. }
  55. return dstBmp;
  56. }
  57. }
Add Comment
Please, Sign In to add comment