zoukankan      html  css  js  c++  java
  • 撕衣服源码

    布局文件

    <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:scaleType="centerCrop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/aneiyi" 
            />
        <ImageView
            android:id="@+id/iv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/awaiyi" 
            />
    
    </RelativeLayout>

    之所以需要拷贝一个图片 原因 原图不允许修改像素配置

    package com.fmy.oa;
    
    import android.os.Bundle;
    import android.annotation.SuppressLint;
    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.graphics.drawable.BitmapDrawable;
    import android.graphics.drawable.Drawable;
    import android.view.Display;
    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 Bitmap bmCopy;
        private ImageView iv;
    
        @SuppressLint("NewApi")
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            iv = (ImageView) findViewById(R.id.iv);
            Bitmap bmSrc = BitmapFactory.decodeResource(getResources(), R.drawable.awaiyi);
            bmCopy = Bitmap.createBitmap(bmSrc.getWidth(), bmSrc.getHeight(), bmSrc.getConfig());
            Paint paint = new Paint();
    
            Canvas canvas = new Canvas(bmCopy);
            canvas.drawBitmap(bmSrc, new Matrix(), paint);
    
    
            iv.setImageBitmap(bmCopy);
    
    
            iv.setOnTouchListener(new OnTouchListener() {
    
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    switch (event.getAction()) {
                    case MotionEvent.ACTION_MOVE:
                        int x = (int) event.getX();
                        int y = (int) event.getY();
                        for(int i = -5; i <= 5; i++){
                            for(int j = -5; j <= 5; j++){
                                //把用户划过的坐标置为透明色
                                //改变指定的像素颜色
                                if(Math.sqrt(i*i + j*j) <= 5){
                                    if(x + i < bmCopy.getWidth() && y + j < bmCopy.getHeight() && x + i >= 0 && y + j >= 0){
                                        bmCopy.setPixel(x + i, y + j, Color.TRANSPARENT);
                                        iv.setImageBitmap(bmCopy);
                                    }
                                }
                            }
                        }
                        break;
    
                    }
                    return true;
                }
            });
        }
    
    
    }
    
  • 相关阅读:
    ①---Java开发环境配置
    1.java的基础和数据类型
    0、原生jdbc工厂类
    spring中使用quartz动态添加定时任务执行sql
    app前端代码打包步骤
    less的解析笔记
    转:玩转HTML5移动页面(动效篇)
    HTML5属性备忘单
    玩转git和github
    js基础----数组
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152209.html
Copyright © 2011-2022 走看看