Skip to content
Snippets Groups Projects
Select Git revision
  • 18e53b9ec83bf41f4b08431fe7e99a8bfaf6cd1f
  • master default
  • cmake_fixes
  • pulls/1772757862/750
  • copilot/fix-770
  • windows_ci_static
  • c_link
  • cpack
  • windows_ci
  • cert_pk_id
  • proxy_push_result
  • cnode_put_id
  • update-windows-build
  • proxy
  • resubscribe_on_token_change
  • actions
  • client_mode
  • llhttp
  • search_node_add
  • crypto_aes_gcm_argon2
  • ios_notifications
  • v3.4.0
  • v3.3.1
  • v3.3.1rc1
  • v3.3.1rc2
  • v3.3.0
  • v3.2.0
  • v3.1.11
  • v3.1.10
  • v3.1.9
  • v3.1.8.2
  • v3.1.8.1
  • v3.1.8
  • v3.1.7
  • v3.1.6
  • v3.1.5
  • v3.1.4
  • v3.1.3
  • v3.1.2
  • v3.1
  • v3.0.1
41 results

rng.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    CropImageUtils.java 2.37 KiB
    /*
     *  Copyright (C) 2004-2016 Savoir-faire Linux Inc.
     *
     *  Author: Romain Bertozzi <romain.bertozzi@savoirfairelinux.com>
     *
     *  This program is free software; you can redistribute it and/or modify
     *  it under the terms of the GNU General Public License as published by
     *  the Free Software Foundation; either version 3 of the License, or
     *  (at your option) any later version.
     *
     *  This program is distributed in the hope that it will be useful,
     *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *  GNU General Public License for more details.
     *
     *  You should have received a copy of the GNU General Public License
     *  along with this program; if not, write to the Free Software
     *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     */
    
    package cx.ring.utils;
    
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.BitmapShader;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.RectF;
    import android.graphics.Shader;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    
    public class CropImageUtils {
    
        @Nullable
        public static Bitmap cropImageToCircle(@NonNull byte[] bArray) {
            Bitmap bitmap = BitmapFactory.decodeByteArray(bArray, 0, bArray.length);
            if (bitmap != null) {
                return cropImageToCircle(bitmap);
            }
    
            return null;
        }
    
        @Nullable
        public static Bitmap cropImageToCircle(@NonNull Bitmap image) {
            int side = Math.min(image.getWidth(), image.getHeight());
    
            final Bitmap externalBMP = Bitmap.createBitmap(side, side, Bitmap.Config.ARGB_8888);
    
            BitmapShader shader;
            shader = new BitmapShader(image, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
    
            Paint paint = new Paint();
            paint.setAntiAlias(true);
            paint.setShader(shader);
            Canvas internalCanvas = new Canvas(externalBMP);
    
            Paint paintLine = new Paint();
            paintLine.setAntiAlias(true);
            paintLine.setDither(true);
            paintLine.setStyle(Paint.Style.STROKE);
            paintLine.setColor(Color.WHITE);
            internalCanvas.drawOval(
                    new RectF(0, 0, externalBMP.getWidth(), externalBMP.getHeight()),
                    paint);
    
            return externalBMP;
        }
    }