一种图像编辑方法及装置的制造方法_3

文档序号:8923275阅读:来源:国知局
对图像进行处理包括对图像进行平移处理、缩放处理、旋转 处理。
[0097] 下面通过一个具体实施例对本发明的工作流程做进一步说明:
[0098] 1.前置条件:选择坐标系。
[0099] 默认情况使用世界坐标系,用户也可以选择本地坐标系。使用不同的坐标系的区 别在于提供的用户界面中平移X轴和平移Y轴的方向不同。选择坐标的用户操作方式并不 是本发明的重点,发明的重点是显示的用户界面会根据选择的坐标系显示不同方向的平移 X轴和平移Y轴,方便用户进行不用方向的平移操作。
[0100] 2.前置条件:选取图像。
[0101] 任何的编辑都是基于图像被选中的前提下完成的,但是选取操作本身并不是本发 明的重点,一般来说单击图片就能完成选取。
[0102] 3.为选取状态下的图像显示用户界面(相当于上述检测界面)。用户界面包含 中心平移区(即中间圆圈部分,相当于上述中心平移检测区),平移X轴(即方向向右的箭 头,相当于上述X轴平移检测区),平移Y轴(即方向向下的箭头,相当于上述Y轴平移检测 区),缩放手柄(位于圆圈左上方的手柄,相当于上述缩放检测区)。用户界面的中心始终 与被选取图像的中心重合,用户界面的大小固定,方向根据所选坐标系不同而不同,如图4 所示。如果选择世界坐标系,用户界面的方向始终为X轴指向右侧。如果选择本地坐标系, 用户界面的方向为X轴指向被选图像的X轴方向。
[0103] 例如,用户界面可以通过如下步骤生成:
[0104] 步骤1 :监测场景中图片的选中情况。
[0105] 步骤2 :当有图片选中时,获取被选中图片的中心点坐标(x,y)和旋转角度r.
[0106] 步骤3 :绘制用户界面
[0107] a)使用系统提供的绘图API分别绘制平移X轴,平移Y轴和缩放手柄;
[0108] b)将平移Y轴的角度设置为90度。
[0109] c)将缩放手柄的角度设置为-135度,长度设置为图片缩放比例乘以20
[0110] d)绘制中心的空心圆圈部分
[0111] 步骤4:将用户界面的坐标设置为(x,y),角度设置为r。
[0112] 4.取消选取。
[0113] 为了不和其他的编辑操作发生冲突,取消选取由鼠标右键单击操作完成。用鼠标 右键单击操作场景界面中的任何地方实现取消选取(场景外例如面板按钮则无效)。如图 5所示的各热区范围,在图像的矩形区域内部拖左键拽触发平移,在图像的矩形区域外部左 键拖拽触发旋转,在全部区域内部右键单击触发取消选择。
[0114] 5.非选取状态下平移。
[0115] 在图像的矩形区域内,用鼠标按下左键,在不抬起左键的情况下移动鼠标(以后 简称左键拖拽),图像进入选取状态,同时开始跟随鼠标平移。
[0116] 具体流程如图6所示,步骤包括:
[0117] 步骤1 :在图像的矩形区域内监测鼠标左键按下的事件。
[0118] 步骤2 :鼠标左键按下时,记录当前的对象,当前鼠标位置为初始鼠标位置(即启 动编辑位置),同时开始监测鼠标移动事件。
[0119] 步骤3 :当鼠标移动时比较鼠标当前位置(即鼠标移动到的位置)和记录的初始 鼠标位置,判断两个位置之间的距离是否大于预定距离,例如10像素,如果是则执行步骤 4〇
[0120] 步骤4:当两个位置的距离超过10像素时,将记录的当前对象设置为选中对象,并 开始平移操作流程。
[0121] 6.选取状态下平移,有四种方式:
[0122] 第一种方式:在提供的用户界面的中心平移区,使用鼠标左键拖拽,图像开始跟随 鼠标平移,具体流程如图 7所示,步骤包括:
[0123] 步骤1 :在用户界面的中心平移区监测鼠标左键按下的事件。
[0124] 步骤2:鼠标左键按下时,开始平移操作流程
[0125] 第二种方式:在提供的用户界面的平移X轴上,使用鼠标左键拖拽,图像开始跟随 鼠标在X轴指向的方向上平移,具体流程如图8所示,步骤包括:
[0126] 步骤1 :在用户界面的平移X轴上监测鼠标左键按下的事件。
[0127] 步骤2:鼠标左键按下时,标记X轴平移,开始平移操作流程。
[0128] 第三种方式:在提供的用户界面的平移Y轴上,使用鼠标左键拖拽,图像开始跟随 鼠标在Y轴指向的方向上平移,具体流程如图9所示,步骤包括:
[0129] 步骤1 :在用户界面的平移Y轴上监测鼠标左键按下的事件。
[0130] 步骤2 :鼠标左键按下时,标记Y轴平移,开始平移操作流程。
[0131] 第四种方式:在提供的用户界面以外图像矩形区域以内的区域,使用鼠标左键拖 拽,图像开始跟随鼠标平移。需要注意的是,如果图像矩形区域小于用户界面区域,则这种 方式不会被触发。
[0132] 具体流程如图10所示,步骤包括:
[0133] 步骤1 :在图像的矩形区域内监测鼠标左键按下的事件。
[0134] 步骤2 :鼠标左键按下时,标记X轴平移,开始平移操作流程。
[0135] 平移流程如图11所示,步骤包括:
[0136] 步骤1:记录相关信息。
[0137] 步骤a:记录目标图像当前矩阵为M,记录当前鼠标坐标点(即启动编辑位置坐 标)为(X,y)?
[0138] 步骤b:计算当前坐标系的旋转角度0,如果当前坐标系为世界坐标系,0 =0; 如果当前坐标系为本地坐标系,0 =目标图像的旋转角度。
[0139] 步骤c:计算当前坐标系的坐标系矩阵CM。
[0141] 步骤2 :监听鼠标是否移动或左键抬起,若监听到鼠标移动事件,则执行步骤3,若 监听到鼠标左键抬起事件,停止监听鼠标移动事件和鼠标左键抬起事件,平移操作流程结 束。
[0142] 步骤3:每当鼠标移动时,记录当前鼠标坐标为(x',y')。
[0143] 步骤4 :计算目标图像新的矩阵M'并设置,方法如下:
[0144] 1)计算平移矩阵TM。
[0146] 2)计算选中坐标系下的平移矩阵CTM。
[0147] CTM=CM*TM
[0148] 3)如果标记X轴平移,设置y分量为0,即CTM.ty= 0 ;如果标记Y轴平移,设置x 分量为〇,即CTM.tx= 0。
[0149] 4)将坐标系矩阵CM转置得到CM'
[0150] 5)修改平移矩阵
[0151] TM=CM4*CTM
[0152] 6)计算M'
[0153] M'=TM*M;
[0154] 7.选取状态下旋转。
[0155] 在图像矩形区域外;提供的用户界面以外;操作场景界面内的区域,使用鼠标左 键拖拽,图像开始跟随鼠标旋转。
[0156] 步骤1 :在编辑区背景上监控鼠标左键按下的事件。因为背景在用户界面和图像 的下面,所以只有当鼠标在图像矩形区域和用户界面以外时,才会触发事件。
[0157] 步骤2 :鼠标左键按下时,记录目标图像当前旋转角度为0,记录目标图像中心点 CP(cx,cy),记录当前鼠标坐标点(即启动编辑位置坐标)为P(x,y)。
[0158] 步骤3 :监听鼠标移动事件,监听鼠标抬起事件。
[0159] 步骤4 :每当鼠标移动时,记录当前鼠标坐标为P'(x',y')。
[0160] 步骤5 :计算P和P'相对CP连线的夹角d0。
[0161] 步骤6 :设置目标图像新的旋转角度0 ' = 0+d0。
[0162] 步骤7 :当鼠标抬起时,停止监听鼠标移动事件和鼠标抬起事件,旋转操作流程结 束。
[0163] 8?选取状态下缩放。
[0164] 在提供的用户界面的缩放手柄上
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1