0
사용자가 화면에서 드래그 할 수있는 뷰가 있으므로 사용자가 화면에서 드래그하면 볼 수 있습니다. 그러면 뷰 내의 모든 것이 잘릴 것입니다. 어떻게 달성 할 수 있습니까?createbitmap 및 뷰를 사용하여 이미지 자르기
자르기 할 부분을 계산하여 잘라낼 수 있었지만보기 범위 내에있는 내용을 자르려면 어떻게해야합니까? 무엇을 할 수 있는지에 어떤 도움과 통찰력에 미리
이View views;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCrop = (Button) findViewById(R.id.btnCrop);
imageView = (ImageView) findViewById(R.id.imageView);
views = (View) findViewById(R.id.view);
views.setOnTouchListener(new View.OnTouchListener() {
private int initialX;
private int initialY;
private float initialTouchX;
private float initialTouchY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
initialX = (int) views.getX();
initialY = (int) views.getY();
initialTouchX = event.getRawX();
initialTouchY = event.getRawY();
return true;
case MotionEvent.ACTION_MOVE:
views.setX(initialX + (int) (event.getRawX() - initialTouchX));
views.setY(initialY + (int) (event.getRawY() - initialTouchY));
return true;
}
return false;
}
});
btnCrop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bitmap croppedBmp = Bitmap.createBitmap(mbitmap, 0, 0,
mbitmap.getWidth(), mbitmap.getHeight()/2);
imageView.setImageBitmap(croppedBmp);
}
});
}
public Bitmap getBitmapOFRootView(View v) {
View screenView = v.getRootView();
screenView.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
screenView.setDrawingCacheEnabled(false);
return bitmap;
}
감사 :
이 내 Actiivty입니다! : D