获取六边形头像(封装六边形方法)


//画六边形封装的方法,调用的话当数据成功加载下来的时候再调用

public static Bitmap getSixBitmap(Bitmap bitmap) {  

int width = bitmap.getWidth();
int height = bitmap.getHeight();
Bitmap output = Bitmap.createBitmap(width,  
       height, Config.ARGB_8888);  
   Canvas canvas = new Canvas(output);  
  
   final int color = 0xff424242;  
   final Paint paint = new Paint();  
  
   paint.setAntiAlias(true);  
   canvas.drawARGB(0, 0, 0, 0);  
   paint.setColor(color);  
   
   
   float centerX = width/2;
       float centerY = height/2;
       float radius = width/2;
       double radian30 = 30*Math.PI/180;
       float a = (float) (radius*Math.sin(radian30));
       float b = (float) (radius*Math.cos(radian30));


       Path localPath = new Path();
       localPath.moveTo(centerX, 0);
       localPath.lineTo(centerX+b, centerY-a);
       localPath.lineTo(centerX+b, centerY+a);
       localPath.lineTo(centerX, height);
       localPath.lineTo(centerX-b, centerY+a);
       localPath.lineTo(centerX-b, centerY-a);
       localPath.close();
       
       canvas.drawPath(localPath, paint);
       
   paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));  
   canvas.drawBitmap(bitmap, 0.0f, 0.0f, paint);  
  
   return output;  

}



/**

* @Name: loadAvatarImage 

* @Description: 获取六边形头像

* @param  url

* @param  imageView    

* @return void    返回类型 

* @throws 

*

*/

public static void loadHexagonAvatarImage(String url, ImageView imageView){

if(url == null || url.length() <= 0)

return;

DisplayImageOptions options = new DisplayImageOptions.Builder()

.cacheOnDisc(true)

.cacheInMemory(false)

.showImageOnLoading(R.drawable.home_user_avatar_default)

.showImageOnFail(R.drawable.home_user_avatar_default)

.build();

ImageLoader.getInstance().displayImage(url, imageView, options, new SimpleImageLoadingListener(){

@Override

public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {

if(loadedImage != null)

((ImageView)view).setImageBitmap(getHexagonBitmap(loadedImage));

super.onLoadingComplete(imageUri, view, loadedImage);

}

});

}


阅读更多
文章标签: android 六边形
上一篇Toast的常用封装(只是总结了几种比较简单的用法)
下一篇Android中背景选择器
想对作者说点什么? 我来说一句

自定义六边形ImageView-源计划

2016年10月09日 634KB 下载

iOS截取正六边形图片

xxxx

meipuche meipuche

2015-08-17 17:13:53

阅读数:1713

没有更多推荐了,返回首页

关闭
关闭