`

简单实现下图片倒影效果

阅读更多
简单实现下图片倒影效果

效果图:
[img]

[/img]


PictureReflectionActivity
package com.amaker.reflection;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
import android.graphics.Shader.TileMode;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.widget.ImageView;

public class PictureReflectionActivity extends Activity {
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		ImageView imageView2 = (ImageView) findViewById(R.id.picture_qian);

		Bitmap bmp = ((BitmapDrawable) getResources().getDrawable(
				R.drawable.qian)).getBitmap();

		imageView2.setImageBitmap(createReflectedImage(bmp));
	}

	public static Bitmap createReflectedImage(Bitmap originalImage) {

		final int reflectionGap = 4;

		int width = originalImage.getWidth();
		int height = originalImage.getHeight();

		Matrix matrix = new Matrix();
		matrix.preScale(1, -1);

		Bitmap reflectionImage = Bitmap.createBitmap(originalImage, 0,
				height / 2, width, height / 2, matrix, false);

		Bitmap bitmapWithReflection = Bitmap.createBitmap(width,
				(height + height / 2), Config.ARGB_8888);

		Canvas canvas = new Canvas(bitmapWithReflection);

		canvas.drawBitmap(originalImage, 0, 0, null);

		Paint defaultPaint = new Paint();
		canvas.drawRect(0, height, width, height + reflectionGap, defaultPaint);

		canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);

		Paint paint = new Paint();
		LinearGradient shader = new LinearGradient(0,
				originalImage.getHeight(), 0, bitmapWithReflection.getHeight()
						+ reflectionGap, 0x70ffffff, 0x00ffffff,
				TileMode.MIRROR);

		paint.setShader(shader);

		paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));

		canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
				+ reflectionGap, paint);

		return bitmapWithReflection;
	}
}
  • 大小: 17.9 KB
分享到:
评论

相关推荐

    javascript 图片倒影 图片倒影简单实现 简单图片倒影

    在JavaScript中创建图片倒影效果是一项常见的前端技术,它能够为网页增添动态和美观的视觉体验。本示例提供了一种简洁且实用的方法来实现图片的倒影效果,无需大量复杂的代码。以下将详细讲解这一过程及其涉及的技术...

    JS实现图片倒影效果

    在JavaScript(JS)中实现图片倒影效果是一种常见的前端技术,可以为网页增添动态和美观的视觉体验。本文将深入探讨如何使用纯JS代码来创建一个动态的图片倒影效果,而无需借助像Photoshop这样的图像编辑软件进行...

    jquery 图片倒影效果

    在实现图片倒影效果时,我们可以借助CSS3的transform和filter属性,以及jQuery的动态操作来完成。 1. **创建HTML结构**:首先,我们需要在HTML中设置原始图片和倒影图片的容器。通常,我们将这两个元素放在一个父级...

    基于QT的图像倒影效果

    在Qt中,QML提供了丰富的图形元素和功能,如Rectangle、Image、Transform等,可以用来实现倒影效果。以下是实现QML图像倒影的基本步骤: 1. **导入必要的模块**: 在QML文件开头,需要导入`QtQuick`和`...

    图片倒影效果(js代码)

    通过这样的JavaScript代码,你可以在任何支持JavaScript的Web页面中轻松实现图片倒影效果。无论你使用的是ASP、JSP、PHP还是HTML,只要在合适的地方插入这段代码,就可以为你的图片添加生动有趣的倒影特效。

    图片倒影效果

    图片倒影效果的实现方法多种多样,可以从简单的软件操作到复杂的编程算法。接下来,我们将深入探讨如何创建图片倒影效果,以及相关的一些技术知识。 首先,我们可以通过一些图像编辑软件来实现这个效果。例如,...

    javascript 水中倒影效果

    首先,实现水中倒影效果的关键在于对原始元素的复制和翻转。HTML 结构中,通常会有一个原始元素(如图片或文本)和它的倒影元素。这两个元素可以分别用 `<div>` 或 `<img>` 标签表示,并通过 CSS 定位到合适的位置。...

    很炫的gallery有角度的变化有图片倒影

    倒影效果的实现往往涉及到图形上下文的复制、翻转和透明度调整。 5. **角度变化**:角度变化是这个`Gallery`的一个独特之处,它可能采用了3D旋转效果。在Android中,可以使用`android.view.animation....

    Android图片倒影+圆角图片

    首先,我们来讨论如何在Android中实现图片的倒影效果。倒影效果通常在UI设计中用于创造视觉上的平衡感,它可以通过Java代码或者使用第三方库来实现。基本思路是先将原始图片翻转,然后与原图拼接在一起。在Java中,...

    Android 图片倒影效果源码.zip

    本资源“Android 图片倒影效果源码.zip”提供了实现这一效果的源代码,适用于开发者学习和快速集成到自己的项目中。下面将详细解释如何在Android中创建图片倒影效果,并探讨相关技术点。 首先,图片倒影效果通常...

    图片倒影制作工具 一键快速制作倒影效果 中文免费安装版

    《图片倒影制作工具:轻松实现专业视觉效果》 在当今数字时代,图像处理技术已经变得日益普及,其中一种常见的视觉效果就是图片的倒影。倒影效果常常用于设计、广告以及个人创意作品中,为图片增添立体感和动态美。...

    实现图片倒影

    提供的"图片倒影Demo"可能包含了一个简单的Android项目,展示了如何在应用中实现图片倒影功能。通常,它会包含一个Activity,展示一个ImageView,并在点击按钮时动态生成并显示图片的倒影。 通过以上知识点,...

    android中进行图片的3D效果以及倒影效果

    在Android开发中,实现图片的3D效果及倒影效果是一项常见的需求,这可以为用户带来更丰富的视觉体验。在本教程中,我们将探讨如何在Android应用中创建这些特效,特别是针对`Gallery`组件的使用。 首先,让我们了解`...

    倒影效果+滑动翻转Gallery

    2. 使用第三方库:如Android-ReflectionImageView,这是一个专门为实现倒影效果而设计的自定义View,可以简化开发过程。 "滑动翻转"则是指在用户滑动Gallery时,当前显示的图片会有一个翻转动画,增加交互性。这种...

    纯css3带倒影效果的图片翻转特效

    首先,CSS3中的`transform`属性是实现图片翻转的核心。它允许我们对元素进行二维或三维的变换,如旋转(rotate)、缩放(scale)、平移(translate)和倾斜(skew)。在这个特效中,当鼠标悬停在图片上时,`...

    程序开发特效、倒影效果

    在程序开发中,实现特效和倒影效果是增强用户界面(UI)吸引力和用户体验(UX)的重要手段。倒影效果通常被用于图形设计和网页设计,它可以为视觉元素增添一种深度感和动态感,使整体设计更加生动。下面将详细讨论...

    ios应用源码之图片倒影效果 2018127

    在iOS应用开发中,创建图片倒影效果是一项常见的视觉增强技术,可以为用户界面增添动态感和立体感。本文将详细解析如何通过源码实现这一功能,主要关注于Objective-C编程语言,适用于iOS SDK。 首先,我们需要理解...

    android 动态向Gallery中添加图片及倒影&&3D;效果

    为了实现倒影效果,我们需要创建图片的倒影。这可以通过对原始图片进行翻转、缩放和颜色反转来完成。在Android中,你可以利用`Matrix`对象进行图像变换。首先,翻转图片,然后创建一个新的`Bitmap`,将其填充为原...

    js+html5实现图片倒影效果代码

    在本文中,我们将深入探讨如何使用JavaScript(JS)和HTML5来实现图片倒影效果。这个技术主要依赖于CSS3的transform属性以及JavaScript对DOM的操作,以创建一个动态且易于维护的图片倒影功能。 首先,我们需要理解...

    安卓Android源码——图片倒影效果源码.zip

    在安卓开发中,实现图片倒影效果是一种常见的需求,例如在设计美观的用户界面时。本文将详细解析如何在Android平台上通过源码实现这一功能,主要关注两个关键点:图片的复制与翻转以及倒影的渐变效果。 首先,我们...

Global site tag (gtag.js) - Google Analytics