ios-iphone关于图片的剪裁问题

问题描述

iphone关于图片的剪裁问题

用下面的代码剪裁图片:

- (UIImage*)imageByCropping:(UIImage *)imageToCrop toRect:(CGRect)rect
 {
     CGImageRef imageRef = CGImageCreateWithImageInRect([imageToCrop CGImage], rect);
     // or use the UIImage wherever you like
     UIImage * img =  [UIImage imageWithCGImage:imageRef];
     CGImageRelease(imageRef);
     return img;
 }

在模拟器中运行的好好的,但是到了设备上就出问题了。

解决方案

创建一个UIImage:

@implementation UIImage (Crop)

- (UIImage *)crop:(CGRect)cropRect {

    cropRect = CGRectMake(cropRect.origin.x*self.scale,
                      cropRect.origin.y*self.scale,
                      cropRect.size.width*self.scale,
                      cropRect.size.height*self.scale);       

    CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], cropRect);
    UIImage *result = [UIImage imageWithCGImage:imageRef
                                          scale:self.scale
                                    orientation:self.imageOrientation];
    CGImageRelease(imageRef);
    return result;
}

解决方案二:

试试:

- (UIImage *)cropImage:(UIImage *)oldImage {
        CGSize imageSize = oldImage.size;
        UIGraphicsBeginImageContextWithOptions(CGSizeMake( imageSize.width,imageSize.height - 150),NO,0.);
        [oldImage drawAtPoint:CGPointMake( 0, -80) blendMode:kCGBlendModeCopy alpha:1.];
        UIImage *croppedImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return croppedImage;
}
时间: 2024-08-24 07:58:19

ios-iphone关于图片的剪裁问题的相关文章

iOS实现压缩图片上传功能_IOS

本文实例为大家分享了iOS实现压缩图片上传功能,供大家参考,具体内容如下 #pragma mark - 打开相机 -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{ UIImage *image = info[UIImagePickerControllerOriginalImage]; s

JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决_javascript技巧

var date = new Date('2016-11-11 11:11:11'); document.write(date); 最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常: 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误"Invalid Date". 想着估计是字符串格式的问题,改成'2016/11/11 11:11:11'再测试,结果正常,以为这样应该没问题了,

ios-如何计算位于iOS相册中图片的正确md5值

问题描述 如何计算位于iOS相册中图片的正确md5值 具体情况 在OS X下,计算得的正确md5值是:63e3fbe6 a0438f26 e49e5dab 1c4af0d3. NSData *temp = [[NSData alloc] initWithContentsOfFile:@""/Users/apple/Pictures/temp/tu7.png""];NSLog(@""md5: %@"" [temp md5]);

数据库数据恢复-读取iphone手机图片数据库,其中的图片位置信息是一段以bplist00开头的字符串

问题描述 读取iphone手机图片数据库,其中的图片位置信息是一段以bplist00开头的字符串 图片位置信息是一串以bplist00开头的字符串,其中包含了图片拍摄的中文位置信息,如何将里边的位置信息解析出来,有做过的大牛给个指点啊 解决方案 bplist是二进制的plist文件.像ipa中的Info.plist一样就是这种格式.用过一个python的解析库,叫biplist,它可以解析bplist格式,也不复杂可以参考下.

tabbar图片高度-iOS tabbar 的图片位置,修改tabbar的高度

问题描述 iOS tabbar 的图片位置,修改tabbar的高度 我上面放的是一张图片, 让图片上面的宽度与下面的宽度相等 求大神代码演示 解决方案 这种需求最好是自己写一个tabbar,系统的就算通过调整高度来实现也不是好方法,还要考虑兼容性 自己继承UIView,然后在里面放个背景图,然后添加4个按钮,位置和大小这些就可以自己定义了 解决方案二: xcode6 里面通过subclass UITabbar 来修改tabbar的高度

uiimage-swift ios项目 UIImage 图片不显示

问题描述 swift ios项目 UIImage 图片不显示 按照网上的例子,做了一个tableBar,为bar加背景图片,图片却无法显示,求大神解答! 代码如下: let image1 = UIImage(named: "b.png") nav1.tabBarItem = UITabBarItem(title: "会话", image: image1, tag: 1) 实际效果如下: 项目工程如下: 解决方案 项目工程图片是这个: 解决方案二: 就这一行代码,为什

IOS中实现图片点击全屏预览_IOS

如果你感觉累,那就对了那是因为你在走上坡路..这句话似乎有点道理的样子,时常提醒自己无论走到哪都不要忘记自己当初为什么出发.有时想想感觉有的东西可以记录一下,就把它记录下来吧,这次想写一下关于单张图片点击全屏预览的问题,网上查了一些大神写的有的功能确实很强大但自己暂时想要的只是简单的功能就好,还有些方法自己也没弄出想要的效果,最后写了一个比较简单的点击单张图片的全屏预览和双指捏合缩小放大,可能有时要对图片做一些处理,这里放大后只是显示同一张图片并未做处理,下面直接贴出代码 // // ViewC

IOS实现圆形图片效果的两种方法_IOS

先来看看效果图 ↓ 这个显示效果的做法有很多: 方法一: 使用两张图片, 作为边框的背景图片和中间的图片,然后使用imageView的cornerRadius来做圆, 具体代码如下: backImageView.layer.cornerRadius = backImageView.frame.size.width / 2; backImageView.layer.masksToBounds = YES; frontImageView.layer.cornerRadius = frontImage

Android编程实现图片拍照剪裁的方法_Android

本文实例讲述了Android实现图片拍照剪裁的方法.分享给大家供大家参考,具体如下: 调用系统的裁剪工具对相册或者拍照的图片进行裁剪. startActivityforResult用的很恰当,一些系统action需要注意. package com.photosizing; import java.io.ByteArrayOutputStream; import java.io.File; import android.app.Activity; import android.content.In