Glide 圓形頭像的使用

2021-07-29 20:20:36 字數 2336 閱讀 1593

注意事項:

skipmemorycache(true).diskcachestrategy(diskcachestrategy.source)
使用bitmaptransformation變換 ,此類由網上所找的**修改,修正了原版的bug
public class glidecircletransform 

extendsbitmaptransformation

/***@param

context

*@param

borderwidth

頭像圓環的寬度

*@param

bordercolor

頭像圓環的顏色

*/publicglidecircletransform(context context,intborderwidth,intbordercolor)

protectedoutwidth,intoutheight)

privateoutwidth,intoutheight)

canvas canvas =newcanvas(result);

paint paint =newpaint();

paint.setshader(newbitmapshader(squared, bitmapshader.tilemode.clamp, bitmapshader.tilemode.clamp));

paint.setantialias(true);

floatr = outsize / 2f;

canvas.drawcircle(r, r, r -mborderwidth/ 2, paint);

if(mborderpaint!=null)

system.out.println("#circlecrop");

returnresult;

}@override

publicstring getid()

}

呼叫**如下:
glide.with(context).load(url).asbitmap().centercrop().skipmemorycache(true).diskcachestrategy(diskcachestrategy.source).placeholder(global.head_default).error(global.head_default).fallback(global.head_default).transform(createcircletransform(context, borderwidth, bordercolor))
另外還有一種方法,如果要支援帶顏色的圓環頭像建議上一種:
glide.with(context).load(url).asbitmap().centercrop().skipmemorycache(true).diskcachestrategy(diskcachestrategy.source).placeholder(global.head_default).error(global.head_default).fallback(global.head_default).into(newbitmapimageviewtarget(imageview) 

});

圓形頭像設計

圓形頭像嘛說到底就是張,所以自定義圓形控制項自然要繼承android原生的imgaeview,實現其中的setimagebitmap,setimagedrawable,setimageuri,setimageresource的方法。當然主要的ondraw方法也不能缺少,在其中要實現圓形頭像的繪製。這...

ios 裁剪圓形頭像 iOS中裁剪圓形頭像

void clipimage 0.載入 uiimage image uiimage imagenamed 阿狸頭像 1.開啟位圖上下文,跟尺寸一樣大 uigraphicsbeginimagecontextwithoptions image.size,no,0 2.設定圓形裁剪區域,正切與 2.1建立...

IOS圓形頭像的設定

在開發中我們經常會用到頭像,但是系統的uiimageview預設是矩形,然而實際開發中一般都是需要將頭像設定為圓形,今天我和大家聊兩種比較常見的設定圓形頭像的方法。第一種 設定uiimageview的稜角。很簡單 頭像的寬高必須是一致的 cgfloat height 40.0 uiimageview...