现在android的美图秀秀被大多数女孩和一些男孩喜欢,什么吃饭的时候拍一张呀、玩的时候拍一张、就连kiss时也有可能来一张。你是不是经常看到别人拿个手机自拍,抬头仰望45°角 咔!我们天天接触到的东西,我们却不知道它是在如何工作的。现在我们就来说说基础级别的android美图秀秀功能吧,难的都是很多个基础拼接起来组成的大的应用。
还是和以前一样我们看一下code
package com.example.test;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
public final static String TAG = "MainActivity";
private Button mButton;
private ImageView mImageView;
private Canvas mCanvas;
private Paint mPaint;
public String mCurrentPPath ;
public final static int IMAGE_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MainActivity.this.getWindow().setBackgroundDrawableResource(R.drawable.bg);
mButton = (Button) findViewById(R.id.button);
mButton.setTextColor(Color.RED);
mButton.setTextSize(30);
mButton.setBackgroundColor(Color.GREEN);
mButton.setOnClickListener(mClickListener);
mImageView = (ImageView) findViewById(R.id.picture);
mImageView.setOnTouchListener(mTouchListener);
mPaint = new Paint();
mPaint.setColor(Color.RED);
}
private OnClickListener mClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
allScan();//刷新SD卡
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.putExtra("return-data", true);
startActivityForResult(intent, IMAGE_CODE);
}
};
private OnTouchListener mTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float x = event.getX();
float y = event.getY();
if (mCanvas != null) {
mCanvas.drawCircle(x, y, 10, mPaint);
mImageView.invalidate();
}
return true;
}
};
/*
* (non-Javadoc)
*
* @see android.app.Activity#onActivityResult(int, int,
* android.content.Intent)
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IMAGE_CODE && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
// mBitmap = BitmapFactory.decodeFile(picturePath).copy(Config.ARGB_8888, true);
// mImageView.setImageBitmap(mBitmap);
// mCanvas = new Canvas(mBitmap);
Intent intent = new Intent();
intent.setClass(this, CanvasActivity.class);
intent.putExtra("path", picturePath);
startActivity(intent);
}
super.onActivityResult(requestCode, resultCode, data);
}
public void allScan(){
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
}
}
package com.example.test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.net.Uri;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class CanvasActivity extends Activity {
private ImageView imageView;
private Canvas mCanvas;
private Paint mPaint;
public Bitmap xbitmap;
public String mCurrentPPath ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layo
android美图秀秀--基础
最新推荐文章于 2024-08-06 22:47:32 发布