Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 구글 안드로이드
- 안드로이드개발
- 안드로이드 2.0 개발
- 안드로이드 배경화면
- 구글 안드로이드 개발
- 안드로이드 개발 2.0
- android
- 안드로이드
- Form Stuff
- 안드로이드2.0개발
- sky 시리우스폰
- 스마트폰 배경화면
- SKY 시리우스
- 영어
- 아이폰 바탕화면
- 인기있는 블로그 만들기
- 스카이 안드로이드폰 시리우스
- MapView
- 안드로이드 개발 2.0 강좌
- 하루 한마디 영어
- 안드로이드 개발
- 스카이 안드로이드폰 시리우스 K양 동영상
- 안드로이드 바탕화면
- 구글안드로이드
- 안드로이드 개발 강좌
- 안드로이드2.0
- objective-c
- 안드로이드폰
- 하루한마디영어
- 아이폰 배경화면
Archives
- Today
- Total
moozi
미니포토샵 본문
package com.naver.miniphotoshop;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageButton;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
MyView myView;
ImageButton ibZoomIn, ibZoomOut, ibRotate,ibBright, ibDark, ibGray,ibPen;
static float scaleX = 1, scaleY = 1;
static boolean isPen=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("미니 포토샵");
LinearLayout pictureLayout = (LinearLayout) findViewById(R.id.pictureLayout);
myView = new MyView(this);
pictureLayout.addView(myView);
//확대버튼
ibZoomIn=(ImageButton)findViewById(R.id.imageButton);
ibZoomIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
scaleX = scaleX + 0.2f;
scaleY = scaleY + 0.2f;
myView.invalidate();
}
});
//축소버튼
ibZoomOut=(ImageButton)findViewById(R.id.imageButton2);
ibZoomOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(scaleX>0.5f && scaleY>0.5f){
scaleX = scaleX - 0.2f;
scaleY = scaleY - 0.2f;
}
myView.invalidate();
}
});
//펜기능
ibPen=(ImageButton)findViewById(R.id.imageButton7);
ibPen.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isPen){
isPen=false;
}else{
isPen=true;
}
}
});
}
// inner class. custom view
private static class MyView extends View {
int x;
int y;
Path path = new Path();
public MyView(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(isPen){
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
x=(int)event.getX();
y=(int)event.getY();
path.moveTo(x, y);
this.invalidate();
break;
case MotionEvent.ACTION_MOVE:
x=(int)event.getX();
y=(int)event.getY();
path.lineTo(x, y);
this.invalidate();
break;
case MotionEvent.ACTION_UP:
break;
}
}
return true;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Bitmap picture = BitmapFactory.decodeResource(getResources(),
R.drawable.android01);
int picX = (this.getWidth() - picture.getWidth()) / 2;
int picY = (this.getHeight() - picture.getHeight()) / 2;
int cenX = this.getWidth() / 2;
int cenY = this.getHeight() / 2;
canvas.scale(scaleX, scaleY, cenX, cenY);
canvas.drawBitmap(picture,picX,picY,null);
picture.recycle();
Paint paint=new Paint();
paint.setStrokeWidth(3);
paint.setColor(Color.BLACK);
paint.setStyle(Paint.Style.STROKE);
canvas.drawPath(path, paint);
}
}
}
'TIS_2017 > 응용sw_1기' 카테고리의 다른 글
mp3 player (0) | 2017.03.17 |
---|---|
안드로이드연습문제07-미니프로젝트 (0) | 2017.03.16 |
안드로이드 연습문제06 (0) | 2017.03.10 |
안드로이드 연습문제05 (0) | 2017.03.09 |
안드로이드 연습문제04 (0) | 2017.03.08 |
Comments