1. 程式人生 > >【Android】將圖片轉換為圓角

【Android】將圖片轉換為圓角

摘自:https://github.com/NashLegend/SourceWall.git

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;

public class ImageUtils {

    /**
     * 將圖片轉換為圓角, 當radiusRat為半徑時為圓形.
     *
     * @param bitmap
     * @param strokeColor 邊框顏色
     * @param strokeWidth 邊框寬度
     * @param isCircle    是否圓形
     *
     * @return 轉換後的bitmap
     */
    public static Bitmap convertImgRound(Bitmap bitmap, int strokeColor, float strokeWidth, boolean isCircle) {
        Bitmap roundBitmap = null;
        if (bitmap != null) {
            // 畫圖
            roundBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
            Canvas userIconCanvas = new Canvas(roundBitmap);
            Paint userIconPaint = new Paint();
            userIconPaint.setAntiAlias(true);
            int bitWidth = bitmap.getWidth();
            Rect rect = new Rect(0, 0, bitWidth, bitWidth);
            RectF rectF = new RectF(rect);
            userIconCanvas.drawARGB(0, 0, 0, 0);
            int radiusRat = bitWidth / 10;
            if (isCircle) {
                radiusRat = bitWidth;
            }
            userIconCanvas.drawRoundRect(rectF, radiusRat, radiusRat, userIconPaint);
            userIconPaint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
            userIconCanvas.drawBitmap(bitmap, rect, rect, userIconPaint);

            // 圖片加邊框
            if (strokeWidth > 0) {
                Canvas canvas = new Canvas(roundBitmap);
                Paint paint = new Paint(Paint.DITHER_FLAG);
                paint.setDither(true);
                paint.setAntiAlias(true);
                paint.setFilterBitmap(true);
                paint.setColor(strokeColor);
                paint.setStrokeWidth(strokeWidth);
                paint.setStyle(Style.STROKE);
                if (isCircle) {
                    float cx = roundBitmap.getWidth() / 2;
                    float radius = cx - strokeWidth + 1.5F;
                    canvas.drawCircle(cx, cx, radius, paint);
                } else {
                    canvas.drawRoundRect(rectF, radiusRat, radiusRat, paint);
                }
            }

        }
        return roundBitmap;
    }
}

相關推薦

Android圖片轉換圓角

摘自:https://github.com/NashLegend/SourceWall.git import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.

開源項目圖片轉換字符畫

默認 添加 sci 放大 pad 結果 source git http 原理 選定填充圖片的ASCII字符,不同的字符對應於不同的灰度 讀取圖片並計算各像素灰度值(同時考慮透明背景),用相應的的ASCII字符替換該像素 程序功能 支持3種文件選擇方式:選定文件(支持圖

sql float 轉換資料型別 numeric 時出現算術溢位錯誤

sql中float型別的取值範圍? 大於9999999999的情況下,就會報錯將 float 轉換為資料型別 numeric 時出現算術溢位錯誤   insert into[dbo].[T_DATA_DISEASE](STATIONCODE,MONIDATE,RATE,STYL

圖片轉換圓角圖(自修改)

修改了記憶體洩漏,增加了半徑設定 h檔案 #import <Foundation/Foundation.h> @interface UIImage (wiRoundedRectImage) + (id)createRoundedRectImage:(UI

IOS 圖片轉換圓角

UIImage+wiRoundedRectImage.h #import <UIKit/UIKit.h> @interface UIImage (wiRoundedRectImage) + (id)createRoundedRectImage:(UII

WPF大量Canvas轉換本地圖片遇到的問題

原文地址:https://www.cnblogs.com/younShieh/p/11279420.html   專案中遇到一個難題,需要將上百個沒有顯示出來的Canvas儲存為圖片儲存在本地。 1 . 查閱資料後(百度一下)後得知儲存為本地圖片可以通過BitmapSource的轉換,通過PngBitmapE

js圖片轉換base64

draw etc img function 圖片路徑 轉換 tco document substr var img = "imgurl";//imgurl 就是你的圖片路徑 function getBase64Image(img) { var canva

python 圖片轉換base64編碼轉儲進數據庫

join 圖片轉換 exce 中間 sof com sys hal ims # _*_ coding: utf-8 _*_#中間件:拓展工具遍歷文件夾,對文件夾圖片進行base64編碼,寫入數據庫,並且讀取查找方法__author__ = ‘wf15038‘__date__

利用H5新特性圖片轉換Base64

lba dataurl ima return reader 利用 ada col fff $("#btnapply").click(function(){ file = document.getElementById("image");

圖片內嵌入Markdown文件中

將圖片嵌入Markdown文件中一直是一個比較麻煩的事情。通常的做法是將圖片存入本地某個路徑或者網路儲存空間,使用URL連結的形式插入圖片: ![image][url_to_image] 這樣做一個明顯的麻煩之處在於處理圖片與Markdown文件的一致性上。如果我們要拷貝文件,或者圖片遭到誤

在Java應用程式中將PDF轉換圖片圖片轉換PDF

這篇文章將介紹如何在Java應用程式中將PDF檔案轉換為圖片以及將圖片轉換為PDF檔案。 使用元件: Free Spire.PDF for JAVA Free Spire.PDF for JAVA是一款完全免費的PDF Java元件,開發人員可以使用它在Java應用程式中進行建立PD

python如何圖片轉換字元圖片

簡介 一個簡單的python程式,將圖片轉換為字元圖片。 (為了簡便,很多引數寫死了,自己看著改吧。 (←∀←)) 正文 原圖(侵刪) 結果圖 原始碼 [更多細節]——> #-*- coding: UTF-8 -*- from PIL i

中綴表示式轉換字尾表示式

韓小亖 一、字尾表示式求值 字尾表示式也叫逆波蘭表示式,其求值過程可以用到棧來輔助儲存。假定待求值的字尾表示式為:6  5  2  3  + 8 * + 3  +  *,則其求值過程如下: 1)遍歷表示式,遇到的數字首先放入棧中,此時棧如下所示: 2)接著讀到

圖片轉換素描圖

用OpenCV、Python一張RGB顏色的影象經過下面四個步驟就能夠生成出一張素描圖: 將RGB圖轉化為灰度圖。 灰度圖進行反色操作。 將步驟1中的灰度影象和步驟三中的模糊反色影象混合,這裡就用到亮化(Dodging)和暗化(burning)的技術。 1、在讀取圖

手機如何圖片轉換pdf

大家都覺得圖片格式的檔案閱讀起來更加的方便,但是我相信很多人和小編都有原因的困惑,就是圖片格式的檔案並沒有任何的安全性可言,所以很多時候為了保險起見,會將圖片格式轉換為不易修改的PDF格式,那手機如何將圖片轉換為PDF格式呢? 工具:PDF閱讀器 工具特色:1. 快速搜尋檔案,檔案目錄更清晰

Caffe下圖片轉換lmdb格式

在Caffe的例程裡,自帶了轉換格式的程式碼。檢視檔案:./example/imagenet/create_imagenet.sh 檔案內容如下: #!/usr/bin/env sh # Create the imagenet lmdb inputs #

C++羅馬數字轉換成阿拉伯數字

題目:Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999. 將羅馬數字轉換成阿拉伯數字。 方法

使用python圖片轉換字元圖片

“因吹斯汀” 簡介 一個簡單的python程式,將圖片轉換為字元圖片。 (為了簡便,很多引數寫死了,自己看著改吧。 (←∀←)) 正文 原圖(侵刪) 結果圖 原始碼 [更多細節]——>戳這裡 #-*- co

Android 儲存圖片到系統圖庫, 並立即顯示在相簿中

搬運原連結:http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery 【正文】 最近有些使用者反映儲存圖片之後在系統圖庫找不到儲存的圖片,遂決定徹底檢視並解決下。 Andro

Android自定義View-文字新增動態閃動效果

一、概述 昨天我簡單的為View添加了一個邊框,邊框的顏色和大小都是可以自行設定的。今天我想在文字方面做一些簡單的修改,我想讓文字閃動起來。我們可以利用LinearGradient的Shader渲染器和Matrix矩陣來實現閃動效果。 二、知識說明