imageview-关于BitmapShader创建特殊形状的ImageView的问题

问题描述

关于BitmapShader创建特殊形状的ImageView的问题

安卓的ImageView,如何使用关于BitmapShader创建特殊形状,scale的计算是根据裁剪前的么?

解决方案

http://blog.csdn.net/lmj623565791/article/details/41967509

重点

@Override

protected void onDraw(Canvas canvas)

{

if (getDrawable() == null)

{

return;

}

setUpShader();

    if (type == TYPE_ROUND)
    {
        canvas.drawRoundRect(mRoundRect, mBorderRadius, mBorderRadius,
                mBitmapPaint);
    } else
    {
        canvas.drawCircle(mRadius, mRadius, mRadius, mBitmapPaint);
        // drawSomeThing(canvas);
    }
}  

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh)
{
    super.onSizeChanged(w, h, oldw, oldh);
    // 圆角图片的范围
    if (type == TYPE_ROUND)
        mRoundRect = new RectF(0, 0, getWidth(), getHeight());
}
时间: 2024-10-29 03:22:17

imageview-关于BitmapShader创建特殊形状的ImageView的问题的相关文章

Android使用Xfermode图形渲染方法实现自定义圆形、圆角和椭圆ImageView

一:简介: 在上一篇<Android使用BitmapShader图形渲染实现圆形.圆角和椭圆自定义图片View>中,采用BitmapShader方法实现自定义的圆形.圆角等自定义ImageView,这篇我们将采用更为常见的Xfermode渲染模式方案来实现圆形.圆角和椭圆样式的ImageView,同样本实例也是直接继承ImageView, 这样可以省很多事情,比如测量步骤,以及不需要自己去写设置图片的方法,本文使用Xfermode模式中的DST_IN模式来实现要达到的效果,当然大家也可以采用其

【Android开发】范例1-开启新线程获取网络图片并显示到ImageView中

利用之前学过的多线程处理技术,我们来写一个开启新线程获取网络图片并显示到ImageView中的实例. 在布局文件中加入一个ImageView图片控件: res/layout/main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t

Android零基础入门第22节:ImageView的属性和方法大全

原文:Android零基础入门第22节:ImageView的属性和方法大全 通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开始来学习如何在进行图片展示,这就是涉及到另外一个非常重要的控件家族,那就是ImageView.   一.认识ImageView ImageView继承自View组件,主要功能是用于显示图片,可以显示任意图像.ImageView与其子类的类图如下图所示. 从上图可以看到,ImageView 还派生出了

android-在其他activity中显示ImageView

问题描述 在其他activity中显示ImageView 有没有方法能用ImageView元素创建一个新Activity(ImageActivity),然后图片可以在不同的Activity中显示,而且图片继承于ImageActivity. 解决方案 可以在全部的Activity中,使用同样的layout.同样的设置创建imageview,然后在bundle中向每个Activity传递数据,用或LayoutInflater添加给每个Activity片段,用同一个R.drawable.*,本地文件,

Android编程简单实现ImageView点击时背景图修改的方法_Android

本文实例讲述了Android编程简单实现ImageView点击时背景图修改的方法.分享给大家供大家参考,具体如下: 在使用ImageView时,当被点击时,希望背景图修改一下,这样显示被点击效果明显一些.在这里,一个很简单的方法,最起码是个很清晰的方法.在res/drawable文件夹下创建一个xml文件.比如my.xml,内容如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:an

Android手势ImageView三部曲 第一部

这几天一直在研究github上的PhotoView跟GestureImageView,发现写的都很牛,看了很久的代码,于是打算把自己所看的一些东西总结一下,内容还是很多的,但是很有含金量哈-- 先附上两个开源项目的链接: GestureImageView: https://github.com/jasonpolites/gesture-imageview PhotoView:https://github.com/chrisbanes/PhotoView 这样说有点乏味哈,先看看我们今天要实现的效

Swift代码添加imageview及添加图片,图片却不显示

问题描述 Swift代码添加imageview及添加图片,图片却不显示 我不会用IOS约束布局,所以采用了Swift代码添加控件及设置控件,现在的问题是,我用代码添加了图片控件,并且设置了背景图片,为什么图片不显示呢?(我给这个图片添加的点击事件都响应了,就是不见图片)代码如下 解决方案 UIImage named的后面指定的是图片资源的名称,你需要把图片添加到你的工程的Assets.scassets中,new一个image set,然后取一个名字比如image10.然后named中就用你取得名

Android ImageView Src 和Background 区别_Android

之前使用Glide的时候被ImageView的图片设置弄混了(很低级的问题,确是经常犯的问题),所以就去看了一下ImageView,补补基础. 首先ImageView有两个显示图片的属性,分别是src和background.从名字上看可以知道第一个是资源(画),第二个是背景(画框). 如何设置这两个值呢? //background mImageView.setBackground(); mImageView.setBackgroundResource(); mImageView.setBackg

imageview-安卓的ImageView中fitCenter和centerInside参数的区别是什么?

问题描述 安卓的ImageView中fitCenter和centerInside参数的区别是什么? 在ImageView中希望图片能够居中对齐,请问该如何设置android:scaleType比较好呢? 解决方案 fitCenter会按照ImageView大小对图片缩放,如果图片比ImageView大,那么centerInside会裁剪周围,只保留中间一块显示在ImageView.如果图片不超过ImageView的大小,两者一样. 参考:http://blog.csdn.net/encienqi