iOS 图片文件格式判断、圆角图片

1.圆角图片

// 设置圆形图片(放到分类中使用)
- (UIImage *)cutCircleImage {
    UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);
    // 获取上下文
    CGContextRef ctr = UIGraphicsGetCurrentContext();
    // 设置圆形
    CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);
    CGContextAddEllipseInRect(ctr, rect);
    // 裁剪
    CGContextClip(ctr);
    // 将图片画上去
    [self drawInRect:rect];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

2.图片文件格式判断

//通过图片Data数据第一个字节 来获取图片扩展名
- (NSString *)contentTypeForImageData:(NSData *)data {
    uint8_t c;
    [data getBytes:&c length:1];
    switch (c) {
        case 0xFF:
            return @"jpeg";
        case 0x89:
            return @"png";
        case 0x47:
            return @"gif";
        case 0x49:
        case 0x4D:
            return @"tiff";
        case 0x52:
            if ([data length] < 12) {
                return nil;
            }
            NSString *testString = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(0, 12)] encoding:NSASCIIStringEncoding];
            if ([testString hasPrefix:@"RIFF"] && [testString hasSuffix:@"WEBP"]) {
                return @"webp";
            }
            return nil;
    }
    return nil;
}

NSString *path = @"http://xxx.xxx.xxx/xxx.png";
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];
//调用
NSString *string = [self contentTypeForImageData:data];
//输出结果为 png
NSLog(@"%@",string);

参考文章:http://www.jianshu.com/p/8207621ddcaa

时间: 2024-11-08 21:32:07

iOS 图片文件格式判断、圆角图片的相关文章

android 从相册中选择图片并判断图片是否旋转

今天在做图片合成时,首先从相册中选择图片,然后判断该图片是否旋转了,今天就讲下图片是否旋转,直接上代码 /** * 读取照片exif信息中的旋转角度 * * @param path * 照片路径 * @return角度 获取从相册中选中图片的角度 */ public static int readPictureDegree(String path) { if (TextUtils.isEmpty(path)) { return 0; } int degree = 0; try { ExifInt

java代码判断图片文件格式, 不是根据文件后缀来判断。

public static final String TYPE_JPG = "jpg"; public static final String TYPE_GIF = "gif"; public static final String TYPE_PNG = "png"; public static final String TYPE_BMP = "bmp"; public static final String TYPE_UNK

iOS上实现圆角图片

UIImageView自带 //圆角设置 imageView.layer.cornerRadius = 8;(值越大,角就越圆) imageView.layer.masksToBounds = YES; //边框宽度及颜色设置 [imageView.layer setBorderWidth:2]; [imageView.layer setBorderColor:[UIColor blueColor]]; //设置边框为蓝色 //自动适应,保持图片宽高比 imageView.contentMode

UITableView性能-圆角图片

圆角图片因为GPU渲染会影响性能 参考:http://www.cocoachina.com/ios/20150803/12873.html http://blog.sina.com.cn/s/blog_671d2e4f0101cxpl.html http://www.cnblogs.com/thefeelingofsimple/archive/2013/02/20/2918547.html instruments用的不多,我直接循环了几个圆角,3种方法试了下 image.layer.corner

ios项目icon和default图片命名规则

一.应用图片标准iOS控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源.就像当初为了支持iPhone 4而制作的@2x高分辨率版本(译者:以下简称高分)图片一样,我们要为iPad应用中的图片制作对应的高分版本.我知道不少开发者很有预见性的早在iOS 5.0 SDK上就完成了这一步升级.可是我还是要强调一点,那就是之前 Michael Jurewitz (@Jury)在推上提到过的: — 如果想让你的高分图片显示在新iPad上,你必须用Xcode 4.3.1 连同iOS

游戏内图片-文件格式与纹理格式

有一篇好文章,链接门:Unity3D手游开发实践<腾讯桌球>客户端开发经验总结 文章里提到了游戏内图片-文件格式与纹理格式 我才第一次恍然知道了,文件格式和纹理格式原来是酱紫的关系.以前我是有多神经大条,处理了那么多图片竟然没有懂细想它们的关系…… 常用的图像文件格式有BMP,TGA,JPG,GIF,PNG等: 常用的纹理格式有R5G6B5,A4R4G4B4,A1R5G5B5,R8G8B8, A8R8G8B8等. 文件格式是图像为了存储信息而使用的对信息的特殊编码方式,它存储在磁盘中,或者内存

【好记性不如烂笔头】常用的图片 文件格式 和 纹理格式

[好记性不如烂笔头]常用的图片 文件格式 和 纹理格式 1,常用的图片文件格式: bmp ( window 下通用格式 Bitmap 除了深度可选,不采用任何压缩) gif (一种基于LZW算法的连续色调的无损压缩格式 压缩率在50%) jpeg(非常流行的图像格式,有损压缩 ,不支持透明像素 ,压缩比较大 ) png(和jpg类似,压缩比高于gif ,支持透明度,无损压缩 ) 2,常用的纹理格式: R5G6B5, A4R4G4B4, A1R5G5B5, R8G8B8, A8R8G8B8 pvr

ios UITableView 异步加载图片并防止错位

UITableView 重用 UITableViewCell 并异步加载图片时会出现图片错乱的情况 对错位原因不明白的同学请参考我的另外一篇随笔:http://www.cnblogs.com/lesliefang/p/3619223.html . 当然大多数情况下可以用 SDWebImage, 这个库功能强大,封装的很好.但自己重头来写可能对问题理解的更深. SDWebImage 有点复杂,很多人也会参考一下封装出一套适合自己的类库. 基本思路如下: 1 扩展(category) UIImage

RoundedBitmapDrawable生成圆角图片

Bitmap src = BitmapFactory.decodeResource(getResources(), imageId); //获取Bitmap图片 RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(getResources(), src); //创建RoundedBitmapDrawable对象 roundedBitmapDrawable.setCornerRadius