设为首页 加入收藏

TOP

图片裁剪/滤镜渲染(二)
2019-08-30 01:12:11 】 浏览:168
Tags:图片 裁剪 滤镜 渲染
aLayer.rightEdge MinY:self.clipAreaLayer.bottomEdge-PANGR_OFFET MaxY:self.clipAreaLayer.bottomEdge+PANGR_OFFET]){ self.acGeView = CLIP_AREA_RB; } else { self.acGeView = IMAGE_VIEW; [self.imgView setCenter:CGPointMake(self.imgView.center.x+translation.x, self.imgView.center.y+translation.y)]; [panGes setTranslation:CGPointZero inView:self.imgView.superview]; } } //滑动过程中位置改变 CGFloat offsetX = 0; CGFloat offsetY = 0; if (panGes.state == GR_CHANGED) { switch (self.acGeView) { case CLIP_AREA_TOP: { offsetY = movePoint.y-self.clipAreaLayer.topEdge; if (offsetY >=0 && self.clipAreaHeight >= CLIP_AREA_MIN_WH) { self.clipAreaHeight -= fabs(offsetY); self.clipAreaLayer.topEdge += fabs(offsetY); } else if(offsetY < 0 && self.clipAreaLayer.topEdge >= CLIP_VIEW_TOP_MIN) { self.clipAreaHeight += fabs(offsetY); self.clipAreaLayer.topEdge -= fabs(offsetY); [self scaleImgForTop]; } } break; case CLIP_AREA_BOTTOM: { offsetY = movePoint.y-self.clipAreaLayer.bottomEdge; if (offsetY >= 0 && self.clipAreaLayer.bottomEdge <= SCREEN_HEIGHT-CLIP_VIEW_BOTTOM_MAX) { self.clipAreaHeight += fabs(offsetY); self.clipAreaLayer.bottomEdge += fabs(offsetY); [self scaleImgForBottom]; } else if (offsetY < 0 && self.clipAreaHeight >= CLIP_AREA_MIN_WH){ self.clipAreaHeight -= fabs(offsetY); self.clipAreaLayer.bottomEdge -= fabs(offsetY); } } break; case CLIP_AREA_LEFT: { offsetX = movePoint.x-self.clipAreaLayer.leftEdge; if (offsetX >= 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH) { self.clipAreaWidth -= fabs(offsetX); self.clipAreaLayer.leftEdge += fabs(offsetX); }else if (offsetX < 0 && self.clipAreaLayer.leftEdge >= CLIP_VIEW_LR_MIN){ self.clipAreaWidth += fabs(offsetX); self.clipAreaLayer.leftEdge -= fabs(offsetX); } } break; case CLIP_AREA_RIGHT: { offsetX = movePoint.x-self.clipAreaLayer.rightEdge; if (offsetX >= 0 && self.clipAreaLayer.rightEdge <= SCREEN_WIDTH-CLIP_VIEW_LR_MIN) { self.clipAreaWidth += fabs(offsetX); self.clipAreaLayer.rightEdge += fabs(offsetX); } else if (offsetX < 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH){ self.clipAreaWidth -= fabs(offsetX); self.clipAreaLayer.rightEdge -= fabs(offsetX); } } break; case CLIP_AREA_LT: { offsetX = movePoint.x-self.clipAreaLayer.leftEdge; offsetY = movePoint.y-self.clipAreaLayer.topEdge; if (offsetX >= 0 && offsetY >= 0 && self.clipAreaWidth >= CLIP_AREA_MIN_WH && self.clipAreaHeight >= CLIP_AREA_MIN_WH) { self.clipAreaWidth -= fabs(offsetX); self.clipAreaHeight -= fabs(offsetY); self.clipAreaLayer.leftEdge += fabs(offsetX); self.clipAreaLayer.topEdge += fabs(offsetY); }else if (offsetX < 0 && offsetY < 0 && self.clipAreaLayer.leftEdge >= CLIP_VIEW_LR_MIN && self.clipAreaLayer.topEdge >= CLIP_VIEW_TOP_MIN){ self.clipAreaWidth += fabs(offsetX); self.clipAreaHeight += fabs(offsetY); self.clipAreaLayer.leftEdge -= fabs(offsetX); self.clipAreaLayer.topEdge -= fabs(offsetY); [self scaleImgForTop]; } } break; case CLIP_AREA_LB: { offsetX = movePoint.x
首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS-AFN Post JSON格式数据 下一篇iOS----------时间戳与NSDate

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目