当前位置:  编程技术>移动开发
本页文章导读:
    ▪图片设立圆角、圆形、投影        图片设置圆角、圆形、投影 /**图片转换成圆形 */ public Bitmap toRoundBitmap(Bitmap bitmap) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); float roundPx; float left, top, right, bottom, dst_left, dst_top, d.........
    ▪ xpath学习2        xpath学习二 xpath学习二,主要是更深格式的学习。child::book 查找当前节点下的所有的book孩子节点attribute::lang 查找当前节点的lang属性child::* 查找当前节点的所有节点attribute::* 查找当前节点的.........
    ▪ 四 6.OC12-内存管理3-@property参数详解       4 6.OC12-内存管理3-@property参数详解 4 6.OC12-内存管理3-@property参数详解       ......

[1]图片设立圆角、圆形、投影
    来源: 互联网  发布时间: 2014-02-18
图片设置圆角、圆形、投影
/**图片转换成圆形 */
	public Bitmap toRoundBitmap(Bitmap bitmap) {
		int width = bitmap.getWidth();
		int height = bitmap.getHeight();
		float roundPx;
		float left, top, right, bottom, dst_left, dst_top, dst_right, dst_bottom;
		if (width <= height) {
			roundPx = width / 2;

			left = 0;
			top = 0;
			right = width;
			bottom = width;

			height = width;

			dst_left = 0;
			dst_top = 0;
			dst_right = width;
			dst_bottom = width;
		} else {
			roundPx = height / 2;

			float clip = (width - height) / 2;

			left = clip;
			right = width - clip;
			top = 0;
			bottom = height;
			width = height;

			dst_left = 0;
			dst_top = 0;
			dst_right = height;
			dst_bottom = height;
		}

		Bitmap output = Bitmap.createBitmap(width, height, Config.ARGB_8888);
		Canvas canvas = new Canvas(output);

		final Paint paint = new Paint();
		final Rect src = new Rect((int) left, (int) top, (int) right, (int) bottom);
		final Rect dst = new Rect((int) dst_left, (int) dst_top, (int) dst_right, (int) dst_bottom);
		final RectF rectF = new RectF(dst);

		paint.setAntiAlias(true);// 设置画笔无锯齿

		canvas.drawARGB(0, 0, 0, 0); // 填充整个Canvas

		// 以下有两种方法画圆,drawRounRect和drawCircle
		canvas.drawRoundRect(rectF, roundPx, roundPx, paint);// 画圆角矩形,第一个参数为图形显示区域,第二个参数和第三个参数分别是水平圆角半径和垂直圆角半径。
		// canvas.drawCircle(roundPx, roundPx, roundPx, paint);

		paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));// 设置两张图片相交时的模式,参考http://trylovecatch.iteye.com/blog/1189452
		canvas.drawBitmap(bitmap, src, dst, paint); // 以Mode.SRC_IN模式合并bitmap和已经draw了的Circle

		return output;
	}
	
	/**图片转换成圆角*/
	public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {  
	    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),  
	        bitmap.getHeight(), Config.ARGB_8888);  
	    Canvas canvas = new Canvas(output);  
	  
	  
	    final int color = 0xff424242;  
	    final Paint paint = new Paint();  
	    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());  
	    final RectF rectF = new RectF(rect);  
	    final float roundPx = 50;  /** 这里设置圆角度数 */
	  
	  
	    paint.setAntiAlias(true);  
	    canvas.drawARGB(0, 0, 0, 0);  
	    paint.setColor(color);  
	    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);  
	  
	  
	    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));  
	    canvas.drawBitmap(bitmap, rect, rect, paint);  
	  
	  
	    return output;  
	   
	}  
	
	/**图片设置倒影*/
	public static Bitmap createReflectedImage(Bitmap originalBitmap) {  
        // 图片与倒影间隔距离  
        final int reflectionGap = 4;  
          
        // 图片的宽度  
        int width = originalBitmap.getWidth();  
        // 图片的高度  
        int height = originalBitmap.getHeight();  
          
        Matrix matrix = new Matrix();  
        // 图片缩放,x轴变为原来的1倍,y轴为-1倍,实现图片的反转  
        matrix.preScale(1, -1);  
        // 创建反转后的图片Bitmap对象,图片高是原图的一半。  
        Bitmap reflectionBitmap = Bitmap.createBitmap(originalBitmap, 0,  
                height / 2, width, height / 2, matrix, false);  
        // 创建标准的Bitmap对象,宽和原图一致,高是原图的1.5倍。  
        Bitmap withReflectionBitmap = Bitmap.createBitmap(width, (height  
                + height / 2 + reflectionGap), Config.ARGB_8888);  
  
        // 构造函数传入Bitmap对象,为了在图片上画图  
        Canvas canvas = new Canvas(withReflectionBitmap);  
        // 画原始图片  
        canvas.drawBitmap(originalBitmap, 0, 0, null);  
  
        // 画间隔矩形  
        Paint defaultPaint = new Paint();  
        canvas.drawRect(0, height, width, height + reflectionGap, defaultPaint);  
  
        // 画倒影图片  
        canvas.drawBitmap(reflectionBitmap, 0, height + reflectionGap, null);  
  
        // 实现倒影效果  
        Paint paint = new Paint();  
        LinearGradient shader = new LinearGradient(0, originalBitmap.getHeight(),   
                0, withReflectionBitmap.getHeight(), 0x70ffffff, 0x00ffffff,  
                TileMode.MIRROR);  
        paint.setShader(shader);  
        paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));  
  
        // 覆盖效果  
        canvas.drawRect(0, height, width, withReflectionBitmap.getHeight(), paint);  
  
        return withReflectionBitmap;  
    }  

 


    
[2] xpath学习2
    来源: 互联网  发布时间: 2014-02-18
xpath学习二

xpath学习二,主要是更深格式的学习。



child::book 查找当前节点下的所有的book孩子节点
attribute::lang 查找当前节点的lang属性
child::* 查找当前节点的所有节点
attribute::* 查找当前节点的所有属性
child::text() 查找当前节点下的所有孩子节点的text
child::node() 查找当前节点下的所有孩子节点
descendant::book Selects all book descendants of the current node
ancestor::book Selects all book ancestors of the current node
ancestor-or-self::book Selects all book ancestors of the current node - and the current as well if it is a book node
child::*/child::price Selects all price grandchildren of the current node






    
[3] 四 6.OC12-内存管理3-@property参数详解
    来源: 互联网  发布时间: 2014-02-18
4 6.OC12-内存管理3-@property参数详解

4 6.OC12-内存管理3-@property参数详解

 

 

 


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3