复制代码 代码如下:
public class MirrorView extends View {
Paint m_paint;
int m_nShadowH;
Drawable m_dw;
Bitmap m_bitmap;
//xxxx
Matrix mMatrix;
int shadowHeight;
public MirrorView(Context context, Bitmap bitmap) {
super(context);
m_bitmap = bitmap;
_Init();
// TODO Auto-generated constructor stub
}
private void _Init() {
//m_dw = new BitmapDrawable(BitmapFactory.decodeResource(getResources(), R.drawable.icon));
m_dw = new BitmapDrawable(m_bitmap);
m_dw.setBounds(0,0,m_dw.getIntrinsicWidth(),m_dw.getIntrinsicHeight());
m_nShadowH = m_dw.getIntrinsicHeight()/1;
m_paint = new Paint(Paint.ANTI_ALIAS_FLAG);
LinearGradient lg = new LinearGradient(0, 0, 0, m_nShadowH, 0xB0FFFFFF, 0x00000000, Shader.TileMode.CLAMP);
m_paint.setShader(lg);
m_paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.MULTIPLY));
//xxxx
mMatrix = new Matrix();
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
int nX = 0;
int nY = 0;
_DrawNormalImg(canvas, nX, nY);
_DrawMirror(canvas, nX, nY);
}
private void _DrawNormalImg(Canvas canvas, int nX, int nY) {
canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.translate(nX, nY);
m_dw.draw(canvas);
canvas.restore();
}
private void _DrawMirror(Canvas canvas, int nX, int nY) {
int nW = m_dw.getIntrinsicWidth();
int nH = m_dw.getIntrinsicHeight();
// U.dout("nW="+nW+",nH="+nH);
//xxxx
shadowHeight=nH/2;
//xxxx
float[] src={0, nH, nW, nH, nW,nH - m_nShadowH, 0, nH - m_nShadowH};
float[] dst={ 0, nH, nW, nH,nW, shadowHeight, 0, shadowHeight };
//xxxx
canvas.save();
mMatrix.setPolyToPoly(src, 0, dst, 0, src.length >> 1);
canvas.concat(mMatrix);
//draw mirror image
canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.scale(1.0f, -1.0f);
canvas.translate(nX, -(nY + nH * 2));
canvas.clipRect(0, nH, nW, nH - m_nShadowH);
m_dw.draw(canvas);
canvas.restore();
//draw mask
canvas.save();
canvas.translate(nX, nY + nH);
canvas.drawRect(0, 0, nW, m_nShadowH, m_paint);
canvas.restore();
//xxxx
canvas.restore();
}
}
相关推荐:
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
用AI写的文章算原创吗?真相揭示,带你深度思考!
好用的人工智能AI软件推荐,让你的生活更智能!
如何查文章AI率?全面解析AI文章检测工具及技巧
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
SEO这种营销方式,改变你网站流量的秘密武器,佛山网站设计建设
优化收费,助力企业提升效益,实现共赢,宜州餐饮网站建设
打造高效创作体验,写文章AI软件重塑内容生产力
AI+写文章:开启智能创作新时代
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
ChatGPT网页打不开?快来看看这些解决办法,轻松恢复正常访问!,ai金色包装
SEO快速优化技术:助力网站流量暴增,轻松登顶搜索引擎,铜陵ai全网通推广软件
用AI征文工具,轻松创作出精彩文章!
SEO首选:如何通过优化网站提升排名和流量,简单的网站优化软件
在线AI文章生成器开启智能创作新时代
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
什么是秀米?全方位了解这款微信公众号排版神器,宁波全网营销型网站建设
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
seo计算了什么,seo的常用术语 ,ai智能有意思的口令
ChatGPT为什么用不了了?背后的真相揭秘!,ai写作专家收费吗
常用AI工具,高效智能生活
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
ChatGPT付款被拒?如何应对与解决常见支付问题,掉包ai
SEO优化知识全解析:提升网站排名的秘密武器,ai出错合集
如何下载免费AI软件,让你的工作和生活更智能
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
SEO立刻:快速提升网站排名,带你走在搜索引擎前沿,网站建设怎么推广好做
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
云推SEO:让您的网站在激烈竞争中脱颖而出,网站优化公司欢迎来电
目前最火的AI软件有哪些?深度解析必备工具
AI一键生成文章,写作新境界
AI一键生成文章免费:革新写作方式,提升创作效率
SEO到底怎么做?揭秘从零到精通的完整SEO优化攻略,鸟瞰ai
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
SEO运营工作是什么,seo公司运营 ,720516AI
seo渠道优化是什么,seo渠道推广怎么做 ,ai121333
文章疑似AI生成怎么办?如何辨别并应对AI生成文章的挑战
SEO但是,这些常见误区你真的知道吗?,凤岗网站建设开发
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
SEO适合-提升网站排名的关键策略,张家口品牌推广营销中心
AI人工智能生成文章:开启写作新时代
WP原创:打造属于你的独特网站,从这里开始!,一个网站推广一个月需要多少钱
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
ChatGPT手机下载后打不开?可能是这些问题导致的,解决方法在这里!,孤城ai动画
SEO译为:网站排名背后的优化策略,会展中心网站优化
SEO技术如何通过优化提升网站流量与排名,四平网站优化公司
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
SEO作用:提升网站流量与品牌曝光的秘密武器,美容网站联盟平台推广
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业