Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用android画布以固定角度旋转位图?_Java_Android_Canvas_Bitmap - Fatal编程技术网

Java 如何使用android画布以固定角度旋转位图?

Java 如何使用android画布以固定角度旋转位图?,java,android,canvas,bitmap,Java,Android,Canvas,Bitmap,当我试图移动线条方向时,我想用固定角度旋转图标删除线条的位图。删除图标也随之改变 这是我画的删除图标上面的线 if (line_cir>1){ if (touchedline != null){ canvas.drawBitmap(bitmap1,touchedline.startX+bitmap1.getWidth(),touchedline.startY+bitmap1.getHeight(),null); } }

当我试图移动线条方向时,我想用固定角度旋转图标删除线条的位图。删除图标也随之改变

这是我画的删除图标上面的线

if (line_cir>1){
        if (touchedline != null){
              canvas.drawBitmap(bitmap1,touchedline.startX+bitmap1.getWidth(),touchedline.startY+bitmap1.getHeight(),null);

        }
    }
下面是删除行的代码

switch (event.getActionMasked()) {
        case MotionEvent.ACTION_DOWN:
            // it's the first pointer, so clear all existing pointers data
            clearCirclePointer();

            xTouch = event.getX(0);
            yTouch = event.getY(0);
            xTouch1 = event.getX(0);
            yTouch1 = event.getY(0);


            startX = event.getX();
            startY = event.getY();

            // check if we've touched inside some circle

            touchedCircle = obtainTouchedCircle(xTouch, yTouch);
            touchedCircle.centerX = xTouch;
            touchedCircle.centerY = yTouch;

            mCirclePointer.put(event.getPointerId(0), touchedCircle);

            touchedline = getTouchedline(xTouch, yTouch, 0);
            touchedline1 = getTouchedline(xTouch-70, yTouch-70, 0);

            //for Remove Line$
            if (line_cir>1) {

                if (touchedline1 != null) {

                    if ((Math.abs(touchedline1.startX+70-xTouch1) < 40) && (Math.abs(touchedline1.startY+70 -yTouch1)< 40)) {
                        lines.remove(touchedline1);
                        line_cir = 0;
                    }
                }
            }

            invalidate();

            handled = true;
            break;
开关(event.getActionMasked()){
case MotionEvent.ACTION\u DOWN:
//它是第一个指针,所以清除所有现有的指针数据
clearCirclePointer();
xTouch=event.getX(0);
yTouch=event.getY(0);
xTouch1=event.getX(0);
yTouch1=event.getY(0);
startX=event.getX();
startY=event.getY();
//检查我们是否接触过某个圆圈的内部
touchedCircle=obtainTouchedCircle(xTouch,yTouch);
touchedCircle.centerX=xTouch;
touchedCircle.centerY=yTouch;
mCirclePointer.put(event.getPointerId(0),touchedCircle);
touchedline=getTouchedline(xTouch,yTouch,0);
touchedline1=getTouchedline(xTouch-70,yTouch-70,0);
//用于删除行$
如果(线路cir>1){
如果(touchedline1!=null){
如果((数学abs(接触线1.startX+70-xTouch1)<40)和&(数学abs(接触线1.startY+70-yTouch1)<40)){
线。移除(接触线1);
线_cir=0;
}
}
}
使无效();
已处理=正确;
打破
谢谢你在安德瓦奇的帮助