项目介绍:
高仿淘宝查看图片的详情:点击图片的某一个部位,可以在下面更清楚的显示点击的内容,可以对图片透明度的处理。
主要代码示例:
[Objective-C] 查看源文件 复制代码
-(void)clicked:(UIGestureRecognizer *)gest{
// 获取正在显示的原始位图
UIImage *srcImage = self.image1.image;
// 获取用户手指在image1上的触碰点
CGPoint pt = [gest locationInView:self.image1];
// 获取正在显示的原图对应的CGImageRef
CGImageRef sourceImage = [srcImage CGImage];
// 获取图片实际大小与第一个UIImageView的缩放比例
CGFloat scale = srcImage.size.width / ScreenW;
// 将image1上的触碰点的左边换算成原始图片上的位置
CGFloat X = pt.x * scale;
CGFloat Y = pt.y * scale;
if (X + 120 > srcImage.size.width){
X = srcImage.size.width - 140;
}
if (Y + 120 > srcImage.size.height){
Y = srcImage.size.height - 140;
}
// 调用CGImageCreateWithImageInRect函数来获取sourceImage中指定区域的图片
CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImage, CGRectMake(X, Y, 140, 140));
// 让image2控件显示为newImageRef对应的图片
self.image2.image = [UIImage imageWithCGImage:newImageRef];
}
DEMO下载:
