精华内容
下载资源
问答
  • 撕衣服案例

    2019-09-13 04:51:18
    就是有两个图片,分别重叠在一起,然后触摸幕后就把该位置的图片透明化,这样就显示下面的图片 最简单的创建音频的方式: MediaPlayer.create(getApplicationContext(), R.raw.higirl).start()...

    撕衣服的原理

        就是有两个图片,分别重叠在一起,然后触摸屏幕后就把该位置的图片透明化,这样就显示下面的图片

    最简单的创建音频的方式:

    MediaPlayer.create(getApplicationContext(), R.raw.higirl).start();



    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:src="@drawable/after" />
    
        <ImageView
            android:id="@+id/iv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
             />
    
    </RelativeLayout>



    package com.itheima.play;
    
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Matrix;
    import android.graphics.Paint;
    import android.view.Menu;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnTouchListener;
    import android.widget.ImageView;
    
    public class MainActivity extends Activity {
    	private ImageView iv;
    	// 可以修改的位图
    	private Bitmap alertBitmap;
    	private Canvas canvas;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		iv = (ImageView) findViewById(R.id.iv);
    		Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
    				R.drawable.pre);
    		// 创建一个空白的原图的拷贝
    		//一定要用拷贝的,原理不知道,不用拷贝后面的图片透明api失效
    		alertBitmap = Bitmap.createBitmap(bitmap.getWidth(),
    				bitmap.getHeight(), bitmap.getConfig());
    		canvas = new Canvas(alertBitmap);
    		Paint paint = new Paint();
    		paint.setColor(Color.BLACK);
    		canvas.drawBitmap(bitmap, new Matrix(), paint);
    		iv.setImageBitmap(alertBitmap);
    		//给image设置手指触摸的监听器
    		iv.setOnTouchListener(new OnTouchListener() {
    			@Override
    			public boolean onTouch(View v, MotionEvent event) {
    				//判断当前手指事件的类型
    				//按下  移动   离开
    				switch (event.getAction()) {
    				case MotionEvent.ACTION_DOWN:// 手指按下屏幕
    					System.out.println("action down");
    					break;
    				case MotionEvent.ACTION_MOVE:// 手指在屏幕上移动
    					int x = (int) event.getX();
    					int y = (int) event.getY();
    					System.out.println("设置("+x+","+y+")透明颜色");
    					for(int i=-4;i<5;i++){
    						for(int j=-4;j<5;j++){
    							try{
    							//让手指经过的地方图片变成透明
    							//try是为了让鼠标超出图片之后就没有效果了
    							alertBitmap.setPixel(x+i, y+j, Color.TRANSPARENT);
    							}catch (Exception e) {
    								// TODO: handle exception
    							}
    						}
    					}
    					iv.setImageBitmap(alertBitmap);
    					break;
    				case MotionEvent.ACTION_UP:// 手指离开屏幕
    					//播放音乐的代码
    					MediaPlayer.create(getApplicationContext(), R.raw.higirl).start();
    					break;
    				}
    				//true认为事件处理完了,可以进行下个事件
    				//false是以为没有处理完,相当于直接暂停了,处理代码失效了
    				return true;//可以重复循环的处理事件
    			}
    		});
    	}
    
    }



    转载于:https://my.oschina.net/u/2356176/blog/421039

    展开全文
  • android撕衣服案例解析

    2019-04-04 17:15:40
    市场上撕衣服案例的解析,两张图片,设置屏幕触摸事件,触摸的时候把范围内的元素设为透明。 效果掩饰 项目结构 代码 MainActivity package com.example.www.ripclose; import android.graphics.Bitmap; ...

    市场上撕衣服案例的解析,两张图片,设置屏幕触摸事件,触摸的时候把范围内的元素设为透明。

    效果掩饰

    在这里插入图片描述

    项目结构

    在这里插入图片描述

    代码
    • MainActivity
    package com.example.www.ripclose;
    
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Matrix;
    import android.graphics.Paint;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.ImageView;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            //用来显示 操作后的图片
            final ImageView iv = (ImageView) findViewById(R.id.imageView2);
    
            //[1]获取要操作图片 原图
            Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background);
    
            //[2]创建一个副本   相当于有一个和原图大小的白纸
            final Bitmap alterBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), srcBitmap.getConfig());
            //创建画笔
            Paint paint = new Paint();
            //创建画布   把白纸铺到画布上
            Canvas canvas = new Canvas(alterBitmap);
            //开始作画
            canvas.drawBitmap(srcBitmap, new Matrix(), paint);
    
            iv.setImageBitmap(alterBitmap);
    
            //[3]给vi设置一个触摸事件
            iv.setOnTouchListener(new View.OnTouchListener() {
    
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    //[4]具体判断一下触摸事件
                    switch (event.getAction()) {
    
                        case MotionEvent.ACTION_MOVE://移动事件
    
                            for (int i = -7; i < 70; i++) { //增加X轴坐标
    
                                for (int j = -7; j < 70; j++) {
                                    //增加Y轴坐标
    
                                    //为了良好的用户体验  撕一个圆
                                    if (Math.sqrt(i*i+j*j)<70) {
    
                                        try {
                                            alterBitmap.setPixel((int)event.getX()+i, (int)event.getY()+j, Color.TRANSPARENT);
                                        } catch (Exception e) {
                                        }
                                    }
    
                                }
                            }
    
                            //更新一下iv
                            iv.setImageBitmap(alterBitmap);
                            break;
    
                    }
    
                    return true;
                }
            });
    
    
    
    
    
        }
    }
    
    
    • activity_main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="0dp"
            android:layout_height="389dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="152dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.552"
            android:src="@drawable/a123"/>
    
        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:layout_marginEnd="8dp"
            android:layout_marginBottom="8dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    </android.support.constraint.ConstraintLayout>
    
    展开全文
  • 案例11 透明的窗体 案例12 修改图像的分辨率 案例13 Windows涂鸦程序 案例14 抓取指定区域的图像 案例15 动画范例——飞碟绑架地球人 第三章 多媒体应用 案例1 flash 动画播放器 案例2 OpenGL屏幕保护程序...
  • powerbuilder案例开发集锦(源码光盘)1

    热门讨论 2008-05-14 09:34:11
    案例13 FTP客户程序 第6章 API函数的应用 案例1 使用API函数实现透明窗体 案例2 制作位图菜单 案例3 控制窗口 案例4 获得系统信息 案例5 创建文件和目录 案例6 显示和设置时间 第7...
  • Visual C++案例开发集锦

    2010-04-04 01:13:56
    实现透明窗体 为对话框程序制作真彩色启动界面 为对话框添加右键菜单 为应用程序添加多语言菜单 隐藏应用程序在任务栏上的显示 在窗口中使用多个视图类 动态切分窗口 第二章 捕获鼠标绘图 捕捉屏幕图像 获取屏幕上...
  • Visual c++案例开发集锦

    2008-07-11 18:08:35
    实现透明窗体 为对话框程序制作真彩色启动界面 为对话框添加右键菜单 为应用程序添加多语言菜单 隐藏应用程序在任务栏上的显示 在窗口中使用多个视图类 动态切分窗口 第二章 捕获鼠标绘图 捕捉屏幕图像 获取屏幕上...
  • 实现透明窗体 为对话框程序制作真彩色启动界面 为对话框添加右键菜单 为应用程序添加多语言菜单 隐藏应用程序在任务栏上的显示 在窗口中使用多个视图类 动态切分窗口 第二章 捕获鼠标绘图 捕捉屏幕图像 获取屏幕上...
  • <br>光盘内容 <br>第一章 窗口的动画效果 带有工具栏的对话框 单文档启动界面 实现全屏显示 实现透明窗体 为对话框程序制作真彩色启动界面 为对话框添加右键菜单 为应用程序添加多...
  • 大家以前只有在设计软件中使用的颜色值现在都可以运用,如RGBA、HSL、HSLA、透明度等。 第7章介绍CSS3基础盒模型与用户界面。盒模型是CSS的重中之重,CSS2盒模型功能只能实现一些基本功能,对于一些特殊的功能需要...
  • 实例028 为触摸程序添加虚拟键盘 28 1.8 窗体效果 29 实例029 半透明渐显窗体 29 实例030 窗口颜色的渐变 30 1.9 窗体动画 31 实例031 窗体中的滚动字幕 31 实例032 动画显示窗体 32 实例033 制作...
  • 实例028 为触摸程序添加虚拟键盘 28 1.8 窗体效果 29 实例029 半透明渐显窗体 29 实例030 窗口颜色的渐变 30 1.9 窗体动画 31 实例031 窗体中的滚动字幕 31 实例032 动画显示窗体 32 实例033 制作...
  • 实例028 为触摸程序添加虚拟键盘 28 1.8 窗体效果 29 实例029 半透明渐显窗体 29 实例030 窗口颜色的渐变 30 1.9 窗体动画 31 实例031 窗体中的滚动字幕 31 实例032 动画显示窗体 32 实例033 制作...
  • pb开发实例完整版

    2015-04-28 16:12:19
    案例13 FTP客户程序 第6章 API函数的应用 案例1 使用API函数实现透明窗体 案例2 制作位图菜单 案例3 控制窗口 案例4 获得系统信息 案例5 创建文件和目录 案例6 显示和设置时间 第7...
  • 本书以Android应用程序的开发为主题,并结合真实的案例向读者详细介绍了Android的基本组件的使用及应用程序开发的整个流程。本书的讲述由浅入深,实例全面并典型,几乎囊括了所有和Android应用相关的项目。全书分为...
  • 案例分析:SD卡插拔事件的匹配 77 47、BroadcastReceiver旧事重提 77 48、从CalendarProvider得到数据的方法: 78 50、屏幕关闭,不睡眠 79 51、Android与 Linux休眠 79 52、防止系统、屏幕休眠(避免服务停止等问题...
  • 3.5 单击改变imageview的图片透明度 83 3.6 动态改变imageview的图片大小 85 3.7 旋转imageview中的图片 89 3.8 制作自己的相片集——gallery的应用开发 92 3.9 重要消息提醒——alertdialog对话框的应用 94...
  • 案例中:在基础组件库中主要有,网络请求,图片加载,通信机制,工具类,分享功能,支付功能等等。当然,我把一些公共第三方库放到了这个基础组件中! 4.3 项目组件化架构图,如下所示 4.4 组件通信是通过...
  • Android 开发技巧

    热门讨论 2012-03-26 10:24:42
    5.2、BUTTON美化案例☆ 139 5.3、IMAGEBUTTON 按下时的动画效果 142 5.4、滚动条显示与隐藏 143 5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、ANDROID ...
  • 5.2、BUTTON美化案例☆ 139 5.3、IMAGEBUTTON 按下时的动画效果 142 5.4、滚动条显示与隐藏 143 5.5、LISTVIEW 与 SCROLLVIEW 解决办法 144 方法一:(重写ListView) 144 方法二: 150 5.6、3D魔方 151 6、ANDROID ...
  • 黑马安卓52期视频教程

    热门讨论 2015-06-24 22:15:48
    03、android案例与项目_手机安全卫士(12天)---------------------------- day01 01.功能展示 02.VisualSvn使用 02.代码组织结构 03.项目创建 04.Splash页面 05.网络获取json数据并解析 06.跳转主页面&下载apk 07....
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    VC 透明窗口效果的电子标尺源代码 实现了屏幕绘图操作,实现电子标尺数据计算以及显示,有数据库操作保存数据。 VC++ ini文件读写操作类实例 VC++版源代码统计工具 内含自绘CMenu、CButton、CDialog、CStatic、...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    内含(重启、图片操作、ip操作、键盘与鼠标、客户端以及服务端、文件传输等实例源码) 多个VC++加密解密算法库(CRYPT++) 详细讲解了Crypt++的加密解密的使用以及其它的加密解密方法(例如base64加解密、哈希加...
  • 疯狂Android讲义.part2

    2013-08-30 14:50:12
    7.5.2 位置、大小、旋转度、透明度 改变的补间动画 293 7.5.3 自定义补间动画 298 7.6 使用SurfaceView实现动画 300 7.6.1 SurfaceView的绘图机制 301 7.7 本章小结 305 第8章 Android的数据存储和IO 306 8.1 使用...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

透明屏案例图片