倒影效果,简化版
package com.nico;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffXfermode;
import android.graphics.AvoidXfermode.Mode;
import android.graphics.Bitmap.Config;
import android.graphics.Shader.TileMode;
import android.os.Bundle;
import android.widget.ImageView;
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获取图片的bitmap对象
Bitmap bmp = BitmapFactory
.decodeResource(getResources(), R.drawable.qm);
// 调用生成带倒影的bitmap
Bitmap b = getFBitmap(bmp);
ImageView img = (ImageView) findViewById(R.id.img);
// 生成imageview
img.setImageBitmap(b);
}
public Bitmap getFBitmap(Bitmap bmp) {
// 画布
Canvas canvas = new Canvas();
// 矩阵
Matrix matrix = canvas.getMatrix();
// 缩放
matrix.preScale(1, -1);
// 生成带倒影的bitmap打底图
Bitmap allbitmap = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight()
+ bmp.getHeight() / 2, Config.ARGB_8888);
// 设置为画布背景
canvas.setBitmap(allbitmap);
Paint dp = new Paint();
// 将初始图像画上去
canvas.drawBitmap(bmp, 0, 0, dp);
Paint p = new Paint();
// 绘制下半部分的图像
canvas.drawRect(0, bmp.getHeight(), bmp.getWidth(),
bmp.getHeight() / 2, p);
// 绘制下边部分的图像
Bitmap flenbmp = Bitmap.createBitmap(bmp, 0, bmp.getHeight() / 2, bmp
.getWidth(), bmp.getHeight() / 2, matrix, false);
//将btmap 绘制到画布上
canvas.drawBitmap(flenbmp, 0, bmp.getHeight(), null);
Paint paint = new Paint();
//渐变的效果,不是很清楚
LinearGradient shader = new LinearGradient(0, bmp.getHeight(), 0,
allbitmap.getHeight(), 0x70ffffff, 0x00ffffff, TileMode.CLAMP);
paint.setShader(shader);
paint.setXfermode(new PorterDuffXfermode((PorterDuff.Mode.DST_IN)));
//绘制下面的图片的框,并使用到设置好参数的paint
canvas.drawRect(0, bmp.getHeight(), bmp.getWidth(), allbitmap.getHeight() , paint);
return allbitmap;
}
}
分享到:
相关推荐
ios视图倒影reflection效果源码,源码reflection,该示例演示如何在既定的UIImageView(iTunes和iPod player app中常见的)上执行一个"reflection" 特效。它会自动根据输入倒影高度和透明度来动态渲染效果。这些值...
5. **reflection.png**:可能是一个包含倒影效果的示例图像。 6. **user.png**:可能是一个代表用户或用户界面的图标。 7. **version.png**:可能显示软件的版本信息。 8. **attention.png**:可能是一些警告或注意...
反射是光线在物体表面发生反射时产生的视觉效果,通常在透明或半透明物体上尤为明显。在实际应用中,例如监控摄像头、无人驾驶车辆的视觉系统或者虚拟现实技术,消除反射可以提高图像的清晰度和信息提取效率。反射...
reflection.js v1.5 给图片加倒影效果,使用非常简单给 img标签加上class="reflect" 即可.
在MATLAB中进行图像处理是一项常见的任务,"ImageReflection"项目正是关注于这一领域的一个具体应用。这个项目涉及到了图像的单侧反射,也就是将图像的一部分沿着一条直线进行镜像翻转,这样的操作在视觉效果、图像...
在iOS开发中,给图片添加倒影效果是一种常见的视觉增强技术,可以提升用户界面的美观度。本教程将深入探讨如何在iOS应用中实现图片的倒影效果,主要涉及的知识点包括UIKit框架中的UIImageView类、Core Graphics...
3. **Polarization-based specularity removal method with global energy minimization**:极化技术通常对消除镜面反射有很好的效果,因为反射和透射光的偏振性质不同。这篇论文可能提出了一个结合全局能量最小化的...
标题"reflection _android_pressure1j1_"暗示了我们将讨论一个关于Android平台上的反射机制,特别是在实现特定视觉效果——图片拉伸及倒影——的应用实例。 描述中提到的是一个源码实现,模拟了猎豹浏览器首页图片...
反射效果可以通过 `Reflection` 类实现,它可以让元素看起来像是有一部分反射在下方。开发者可以通过调整反射的上边界、下边界、不透明度等属性来改变反射效果的外观。在示例中,一个对象被赋予了反射效果,从而...
6. **过渡和动画**:使用`transition`和`animation`属性为元素添加平滑的动态效果。 7. **响应式图片**:使用`max-width: 100%`和`height: auto`使图片自适应容器大小。 8. **CSS预处理器Sass**:Sass是一种CSS预...
在本文中,我们将深入探讨如何使用Qt框架,特别是其QML模块,来创建图像的倒影效果。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备。QML是Qt的一种声明性语言,用于构建用户界面,它以简洁、...
Reflection Center(反射中心)决定了反射的基准点,而Reflection Angle(反射角度)则决定了反射线的倾斜度,两者结合可以创建出多种多样的对称形态。 Offset(偏移效果)则允许用户在图像内部进行水平或垂直的...
可以利用环境光、点光源、聚光灯等,配合Shadow和Reflection Probe增强光照效果。 8. **性能优化**: 实现液体流动效果可能会影响游戏性能,因此需要进行优化。例如,限制Trail Renderer的细分数量,使用LOD...
OpenGL 3.3 CubeMap Reflection 是一个关于使用OpenGL 3.3版本实现立方体贴图反射效果的示例项目。在3D图形编程中,立方体贴图(Cube Map)是一种广泛用于环境映射的技术,可以模拟物体表面的反射效果,使场景更加...
3. **Reflection.java**:这个文件可能包含了实现水波效果的核心代码。可能包括定义水面模型,计算波浪的更新,以及使用Java2D进行渲染。通过阅读和理解这段代码,你可以看到如何将数学模型转化为实际的Java程序。 ...
总结,本项目“rt.rar_Transmission_optics_reflection”提供的MATLAB实现,是对光学中反射与透射现象的数值模拟,通过对不同参数的调整,可以深入理解光在各种条件下的行为,并为实际光学设计和实验提供理论依据。...
在iOS开发中,图像处理是一项常见的任务...这个“Image Reflection”压缩包文件可能包含了示例代码、资源图片或教程,供开发者参考和学习。在Mac环境下解压后,可以详细查看这些内容,加深对倒影效果实现的理解和实践。
3. **反射**:液体表面会反射周围环境,我们可以使用Screen Space Reflection (SSR) 或者自定义的反射算法来实现。反射贴图或者环境立方体贴图可以用来获取环境信息。 4. **流动效果**:如果液体是动态的,我们需要...
JavaScript 水中倒影效果是一种常见的网页动态特效,它能为网页增添生动逼真的视觉体验,常用于网站设计中的头部、背景或者交互元素。在本文中,我们将深入探讨如何利用 JavaScript 实现这一效果,同时关注与 HTML ...
在JavaScript(JS)中实现图片倒影效果是一种常见的前端技术,可以为网页增添动态和美观的视觉体验。本文将深入探讨如何使用纯JS代码来创建一个动态的图片倒影效果,而无需借助像Photoshop这样的图像编辑软件进行...