當前位置:首頁 » 安卓系統 » bitmap裁剪android

bitmap裁剪android

發布時間: 2025-01-28 13:21:00

『壹』 bitmap android怎麼按圓弧剪切

按圓弧剪切,可以用Photoshop。

  1. 打開需要裁剪成圓形的圖片。

  2. 右鍵單擊工具欄第一格,左鍵單擊選擇「橢圓選框工具」。

  3. 按住滑鼠左鍵和鍵盤上的Shift鍵,同時拖動滑鼠,選中需要留下的圓形部分。(註:如果要裁剪成橢圓形,則不需要按住Shift鍵。)

  4. 單擊「選擇」——「反向」。

  5. 不需要的部分被選中。

  6. 按鍵盤上的Del鍵,刪除不需要的部分。

  7. 單擊「選擇」——「反向」,選中需要留下的圓形部分。

  8. 單擊「編輯」——「剪切」。

  9. 單擊「新建」,背景內容選擇「透明」,然後單擊「確定」。

  10. 單擊「編輯」——「粘貼」,圖片就裁剪好了。之後只要單擊「文件」——「存儲」,就可以保存圖片了。

『貳』 Android超簡單實現炫酷的圖片展示效果

這里的實現原理很簡單,就是添加多個矩形路徑,並不斷的延長各個矩形路徑的寬度(通過onDraw方法的遞歸實現),然後在矩形路徑中繪制Bitmap即可。

1. 構建用於展示的Bitmap
這里我們選擇在onSizeChanged方法中初始化Bitmap,因為當控制項大小改變時方便我們重新計算所需展示Bitmap的大小。

2. 構建矩形裁剪區域並添加到Path中

3. 在對應的路徑中繪制出Bitmap
這里使用Canvas的clipPath方法將畫布裁切成路徑的形狀,然後在裁切後的畫布上繪制圖片。

4. 利用遞歸實現動畫效果

5. 當圖片完全顯示時替換圖片
圖片完全顯示也是cilpWidth>控制項寬度的時候。

掃描式圖片展示

『叄』 Android Bitmap理解

參考:
Android Bitmap 詳解:關於 Bitamp 你所要知道的一切

Android Bitmap(點陣圖)詳解

圖片是由大量且有限個數的像素點組成。把一張圖片通過bitmap的方式創建到內存中,實際上就是在內存中創建了一個叫做Bitmap的對象,然後把 圖片所有像素 解碼後的數據存放在Bitmap對象裡面,Bitmap就擁有了圖片的寬高,透明度,顏色值等數據。所以Bitmap的創建是通過BitmapFactory.decodeXxx()。

Config是Bitmap類中的枚舉類。像素由ARGB四個顏色通道組成。Config描述點陣圖中像素的存儲方式。 這里的存儲方式,無非就是對顏色通道和用多大的容器(bit)來存儲的排列組合。所以config會影響圖片透明度,佔用內存大小,保存成文件的大小,圖片質量。
Config的字母表示該配置存儲的像素的顏色通道,數字表示對應通道的數據用多少位來存儲。

ALPHA_8:表示只存儲alpha通道,使用8bit(1位元組)的內存(容器)來存儲一個像素。
RGB_565:表示存儲RGB三個通道,分別使用5bit,6bit,5bit的內存(容器)來存儲一個像素。
ARGB_4444:表示存儲ARGB四個通道,每個通道都是以4bit的內存(容器)來存儲一個像素。
ARGB_8888:表示存儲ARGB四個通道,每個通道都是以8bit的內存(容器)來存儲一個像素。

所以,ARGB_8888配置佔用內存最大,圖片質量最高。
圖片壓縮的一個思路就是降低圖片的配置。

總內存 = 寬的像素數 × 高的像素數 × 每個像素點佔用的大小
註:
1 byte = 8 bit
1 KB = 1024 byte

『肆』 Android 控制項 RoundedBitmapDrawable

RoundedBitmapDrawable 是 supportV4 下的一個類,有了它,顯示圓角和圓形圖片的情況下就不需要額外的第三方類庫了,還能和各種圖片載入庫配合使用。
點擊此處 可以看到官方的介紹。

setCircular(boolean circular) : 把圖片的形狀設為圓形;

setCornerRadius(float cornerRadius) : 設置圖片的圓角半徑。

這里貼一下源碼,更能清晰的知道它的實現:

至於具體的實現,閱讀源碼發現官方使用了 BitmapShader 來實現的圓角。

效果

首先來看下原圖和處理後效果,以及做一些擴展,如添加一個邊框

通過 RoundedBitmapDrawableFactory 傳遞要轉換bitmap 我就可以很簡單的生成一個如下圖的圓角圖片

可以看到我們僅僅只是改了一個屬性就實現了如下圖正圓形的轉換,但你可能已經發現圖像有一些變形,因為內部在接收到 circular == true 後先是對圖像進行了轉換為正方形的操作,這個操作是一個伸縮放操作,而不是裁剪,所以圖像發生了變形,所以在使用 setCircular 時最好能保證你的原圖時一個正方形的,如果不是的話,下面我們也會給出相應解決方案

我們自己進行對bitmap的裁剪來轉換成正方形,就解決了上面提到的拉伸問題,再繪制邊框就實現了一個如下帶邊框的正圓形圖片

RoundedBitmapDrawable 也可以直接設置轉換過程的

這些操作,來更好的工作

到這個里我們就可以把項目中的圓角圖片的控制項更換一下,平時記得多留意一下系統提供的一些API,可能會幫我們節省不少時間。

引用:
★★★ Android一些容易被忽略的類-RoundedBitmapDrawable
★★ Android 必知必會-使用 supportV4 的 RoundedBitmapDrawable 實現圓角

『伍』 bitmap縮放到指定大小-android中怎麼是bitmap縮小

如何對圖片進行縮放到適應屏幕大小呀

/**顯示圖片,使用BitmapFactory()*path

*圖片SD卡路徑****/

privatevoidshow_Image(Stringpath){

//TODOAuto-generatedmethodstub

opts=new();

=2;//寬高設置成原來的1/2

Bitmapbit=newBitmapFactory().decodeFile(path,opts);

show_(bit);

還有很多屬性,你去查查吧,另外如果非要適應屏幕大小的話,你還需要獲取屏幕的大小,然後圖片大小跟屏幕大小比較,沒弄過一定要圖片跟屏幕大小填充滿的判空,就算填充滿,一定也會失真

android中怎麼是bitmap縮小

/**Bitmap放大的方法*/

privatestaticBitmapbig(Bitmapbitmap){

Matrixmatrix=newMatrix();

(1.5f,1.5f);//長和寬放大縮小的比例

BitmapresizeBmp=(bitmap,0,0,(),(),matrix,true);

returnresizeBmp;

}

這里放大縮小的方法都有:

android縮放和壓縮的區別

android縮放和壓縮圖片可以如下解釋虧蠢:

壓縮圖片

這里簡單的將一個圖片文件轉換為Bitmap,並且在轉換的過程中對圖片質量進行簡單壓縮:

(,intquality,FileOutputStreamfos);

注意這里的quality的范圍為0~100,經過測試如果這個值設置比較低的話圖片會非常不清晰,基本不可用,0~100的值可以參考類似Photoshop之類輸出圖片時選擇的圖片質量.

此方法只是單純對圖片質量進行處理,並不會改變其大小,如果需要改變圖片文件的大小,最好是使用縮放,這個可以在保證一定的圖片清晰度的情況下減少了圖片大小,畢竟手機屏幕就那麼點,你把2000px*1000px的圖片改為500px*250px在手機用戶看來也不會有太嚴重的不適感,而如果你只設置圖片的quality想來改變文件大小,你最後會發現得到的是一個2000px*1000px的幾個色塊.

縮放圖片

先提代碼看看:

[java]viewplain

/**

*保持長寬比縮小Bitmap

*

*@parambitmap

*@parammaxWidth

*@parammaxHeight

*@return

*/

publicBitmapresizeBitmap(Bitmapbitmap,intmaxWidth,intmaxHeight){

intoriginWidth=();

intoriginHeight=();

//noneedtoresize

if(originWidth<maxWidth&&originHeight<maxHeight){

returnbitmap;

}

intwidth=originWidth;

intheight=originHeight;

//若圖片過寬,則保持長寬比縮放圖片

if(originWidth>maxWidth){

width=maxWidth;

doublei=originWidth*1.0/maxWidth;

height=(int)(originHeight/i);

bitmap=(bitmap,width,height,false);

}

//若圖片過長,則從上端截取

if(height>maxHeight){

height=maxHeight;

bitmap=(bitmap,0,0,width,height);

}

//Log.i(TAG,width+"width");

//Log.i(TAG,height+"height");

returnbitmap;

}

這里演掘空瞎示是將圖片縮小到一個max范圍內,而不是直接將變成硬性的變成某個尺寸的圖片,因為一般來說這種設置max的方式符合大部分需要,如果必須將圖片變成某個指定尺寸可以直接使用方法,也是下面要介紹的.

此函數主要就是使用了Bitmap的兩個靜態方法,一個是:

(Bitmapsrc,intdstWidth,intdstHeight,booleanfilter)

此方法就會把一個Bitmap圖片縮放成指定的尺寸.

熱點內容
學霸導師安卓密碼忘了怎麼辦 發布:2025-03-17 18:43:36 瀏覽:484
android開發camera 發布:2025-03-17 18:43:27 瀏覽:622
php路徑linux 發布:2025-03-17 18:37:12 瀏覽:842
導航演算法招聘 發布:2025-03-17 18:08:57 瀏覽:972
4glte配置名怎麼 發布:2025-03-17 18:04:41 瀏覽:900
和平精英如何查詢游戲賬號密碼 發布:2025-03-17 18:03:07 瀏覽:372
數控pmc編程 發布:2025-03-17 18:02:21 瀏覽:151
irst固態硬碟做緩存檔 發布:2025-03-17 18:02:20 瀏覽:237
艾諾存儲卡 發布:2025-03-17 18:01:44 瀏覽:889
麗姬傳在哪裡可以緩存 發布:2025-03-17 17:48:06 瀏覽:285