Android中的图像处理

这篇博客主要探讨了在Android平台上的图像处理技术,通过实例展示了如何使用XML资源定义不同状态下的图像,如设置按压状态下的图像和正常状态的图像。
摘要由CSDN通过智能技术生成
1. 理解
  手机上显示的任何界面, 无论是文字,按钮或图片, 都是系统内置的一些API绘制的Graphics(图形,图像)  drawable

2. 相关API
        Bitmap:   位图,图片在内存中数据对象  .bmp .jpg .png
     compress(Format format, int quality, OutputStream os )
Drawable: 
就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable)我们根据画图的需求,创建相应的可画对象
     ShapeDrawable
     BitmapDrawable
     ColorDrawable
Canvas: 画布,绘图的目标区域,用于绘图
     drawColor(Color color)
     drawText(String text, float x, float Y, paint)
     shapeDrawable.draw(canvas)

     在onDraw(Canvas canvas)中绘制图形

Paint: 
我们可以把它看做一个画图工具,比如画笔、画刷。他管理了每个画图工具的字体、颜色、样式。
     Paint p = new Paint();
     p.setColor(color);
     p.setTextSize(size);
     p.setScaleType(); //设置字体
     p.setAntialians(true)//平滑效果
Matrix: 
矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作(针对图片本身, 而不是view)
               Matrix m = new Matrix()
               m.postScale(x, y)
               m.postTranslate(10, 10)
               m.postRotate(angle)

          PopupWindow
                    PopupWindow(View contentView, int width, int height)
构造方法, 指定包含的视图,宽度和高度
showAsDropDown(View anchor, int xoff, int yoff)
显示在指定视图的下面,指定视图,x轴和y轴上的偏移值
setBackgroundDrawable(Drawable background)
设置背景图片, 必须设置,不然动画没作用
boolean isShowing() 
判断是否正在显示
show()
显示
dismiss()
移除

3. 使用
    1). <shape>的使用: 定义图形图片
              
     2). <selector>, 定义多状态图片
          1. 定义文件:
               <selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!--
按下时显示图片 先写-->

    <item android:drawable="@drawable/main_index_search_pressed" android:state_pressed="true"></item>

<!--
正常情况下显示的图片 -->

    <item android:drawable="@drawable/main_index_search_normal"></item>

</selector>
2. 引入
    backgroud="@drawable/xxx_selector"
          一般<selector>与<shape>综合使用
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值