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

原创 2015年07月08日 11:42:08


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

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);

}

});

}


自定义六角形头像图片控件

自定义六角形头像图片控件
  • gongziwushuang
  • gongziwushuang
  • 2016年08月16日 16:40
  • 1042

实现正六边形、圆形及带倒角正六边形的头像显示

从网上下的一个圆形头像demo,然后在上面的基础上实现了自己的正六边形及带倒角的正六边形。 废话不多说,直接上代码   import android.content.Context; imp...
  • qq_q123
  • qq_q123
  • 2016年08月01日 16:33
  • 635

Android 自定义ImageView, 圆形六边形头像

Android 自定义ImageView圆形,六边形头像
  • circyo
  • circyo
  • 2015年04月29日 16:53
  • 2356

ios开发 UIView(UIImageView)添加六边形的遮罩

float viewWidth = 80;                 UIBezierPath * path = [UIBezierPath bezierPath];         pat...
  • zhouleizhao
  • zhouleizhao
  • 2015年05月29日 10:26
  • 2960

军旗---棋盘绘制算法(六边形阵列算法)

最近玩一些手机游戏、ipad游戏、或者pc战棋游戏,感觉在很多游戏中融入了正六边形,作为地图模块中的最小单元,打破了常规的方块模式,不仅提升了趣味性,也刺激了我们开发者的味觉。其实,我早先就想过做一种...
  • meiru8
  • meiru8
  • 2014年11月18日 15:01
  • 1522

六边形网格

原文地址:http://www.redblobgames.com/grids/hexagons/#line-drawing 六边形网格在一些游戏中被用到了,但并不像正方形网格那么直截了当的容易使用....
  • sky_person
  • sky_person
  • 2015年12月04日 13:18
  • 4528

正六边形策略游戏地图算法

       我们工作室谈成的第一个项目是一个webgame,二战体裁,正六边形策略类,从万能的C++转型开发web的确有点不适应,局限性太大,有些作法就需要改变一下了,用了一下午的时间看了看java...
  • miaolinvip
  • miaolinvip
  • 2010年04月03日 22:03
  • 6691

两种方式给UIImage添加六边形边框

第一种方式:       注意:此种方式下,如果是滚动的列表就会出现卡顿的性能问题。代码如下: - (void)initWithTheItemsView { CAShapeLaye...
  • w_x_p
  • w_x_p
  • 2017年02月21日 19:00
  • 904

网页中实现六边形的N种姿势

链接:https://zhuanlan.zhihu.com/p/24489820 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 经常在别人家的网页上看到各...
  • qq_36801146
  • qq_36801146
  • 2016年12月22日 17:13
  • 290

自定义view----六边形战斗力图表

自己做的一个多边形图表,效果如下请大家下载代码查看,博客里只复制部分代码。代码下载:资源一直在审核,审核过了,再黏贴吧。只要给每一个维度传入不同的数值就可以显示不同的等级了。实现步骤:1、绘制六边形 ...
  • baidu_31093133
  • baidu_31093133
  • 2017年07月09日 14:16
  • 549
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取六边形头像(封装六边形方法)
举报原因:
原因补充:

(最多只允许输入30个字)