zoukankan      html  css  js  c++  java
  • android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器

    BitmapShader位图的图像渲染器

    TileMode 模式

    Shader.TileMode.CLAMP        边缘拉伸.
    Shader.TileMode.MIRROR       在水平方向和垂直方向交替景象, 两个相邻图像间没有缝隙.
    Shader.TileMode.REPEAT       在水平方向和垂直方向重复摆放,两个相邻图像间有缝隙缝隙.

    构造方法

    /**
      * 调用这个来创建一个新的着色器,它将用一个位图绘制
      * @param 用来做模板的 Bitmap 对象 
      * @param 横向的 TileMode 
      * @param TileMode。
      */
    public BitmapShader(@NonNull Bitmap bitmap, @NonNull TileMode tileX, @NonNull TileMode tileY) {
       this(bitmap, tileX.nativeInt, tileY.nativeInt);
    }

    简单使用 Shader.TileMode.REPEAT

        //Paint
        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
        //图片
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
        BitmapShader bitmapShader = new BitmapShader(bitmap, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
        paint.setShader(bitmapShader);
        //绘制
        canvas.drawRect(0,0,getWidth(),getHeight(),paint);
     

    Shader.TileMode.CLAMP 效果

    Shader.TileMode.MIRROR 效果

    Shader.TileMode.REPEAT 效果

  • 相关阅读:
    StructuredStreaming整合Kafka
    StructuredStreaming-Sink
    ValueError: max() arg is an empty sequence
    StructuredStreaming
    学习进度报告08
    SparkSQL+Hive
    SparkSQL花式查询
    RDD-DF-DS相互转换
    SparkSQL学习
    学习进度报告07
  • 原文地址:https://www.cnblogs.com/guanxinjing/p/9708591.html
Copyright © 2011-2022 走看看