日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

项目遇到的问题或处理办法

發(fā)布時(shí)間:2025/4/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目遇到的问题或处理办法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 獲取網(wǎng)絡(luò)圖片的尺寸問題

問題:下面的方法 jpeg圖片獲取不到尺寸,最好服務(wù)器能返回圖片的尺寸。

+(CGSize)downloadImageSizeWithURL:(id)imageURL {NSURL* URL = nil;if([imageURL isKindOfClass:[NSURL class]]){URL = imageURL;}if([imageURL isKindOfClass:[NSString class]]){URL = [NSURL URLWithString:imageURL];}if(URL == nil)return CGSizeZero;NSString* absoluteString = URL.absoluteString;#ifdef dispatch_main_sync_safeif([[SDImageCache sharedImageCache] diskImageExistsWithKey:absoluteString]){UIImage* image = [[SDImageCache sharedImageCache] imageFromMemoryCacheForKey:absoluteString];if(!image){NSData* data = [[SDImageCache sharedImageCache] performSelector:@selector(diskImageDataBySearchingAllPathsForKey:) withObject:URL.absoluteString];image = [UIImage imageWithData:data];}if(!image){return image.size;}} #endifNSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:URL];NSString* pathExtendsion = [URL.pathExtension lowercaseString];CGSize size = CGSizeZero;if([pathExtendsion isEqualToString:@"png"]) {size = [self downloadPNGImageSizeWithRequest:request];} else if([pathExtendsion isEqual:@"gif"]) {size = [self downloadGIFImageSizeWithRequest:request];} else {size = [self downloadJPGImageSizeWithRequest:request];}if(CGSizeEqualToSize(CGSizeZero, size)){NSData* data = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:URL] returningResponse:nil error:nil];UIImage* image = [UIImage imageWithData:data];if(image){ #ifdef dispatch_main_sync_safe[[SDImageCache sharedImageCache] storeImage:image recalculateFromImage:YES imageData:data forKey:URL.absoluteString toDisk:YES]; #endif//size = image.size;}}return size; }+(CGSize)downloadPNGImageSizeWithRequest:(NSMutableURLRequest*)request {[request setValue:@"bytes=16-23" forHTTPHeaderField:@"Range"];NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];if(data.length == 8){int w1 = 0, w2 = 0, w3 = 0, w4 = 0;[data getBytes:&w1 range:NSMakeRange(0, 1)];[data getBytes:&w2 range:NSMakeRange(1, 1)];[data getBytes:&w3 range:NSMakeRange(2, 1)];[data getBytes:&w4 range:NSMakeRange(3, 1)];int w = (w1 << 24) + (w2 << 16) + (w3 << 8) + w4;int h1 = 0, h2 = 0, h3 = 0, h4 = 0;[data getBytes:&h1 range:NSMakeRange(4, 1)];[data getBytes:&h2 range:NSMakeRange(5, 1)];[data getBytes:&h3 range:NSMakeRange(6, 1)];[data getBytes:&h4 range:NSMakeRange(7, 1)];int h = (h1 << 24) + (h2 << 16) + (h3 << 8) + h4;return CGSizeMake(w, h);}return CGSizeZero; } +(CGSize)downloadGIFImageSizeWithRequest:(NSMutableURLRequest*)request {[request setValue:@"bytes=6-9" forHTTPHeaderField:@"Range"];NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];if(data.length == 4){short w1 = 0, w2 = 0;[data getBytes:&w1 range:NSMakeRange(0, 1)];[data getBytes:&w2 range:NSMakeRange(1, 1)];short w = w1 + (w2 << 8);short h1 = 0, h2 = 0;[data getBytes:&h1 range:NSMakeRange(2, 1)];[data getBytes:&h2 range:NSMakeRange(3, 1)];short h = h1 + (h2 << 8);return CGSizeMake(w, h);}return CGSizeZero; } -(id)diskImageDataBySearchingAllPathsForKey:(id)key{return nil; }+(CGSize)downloadJPGImageSizeWithRequest:(NSMutableURLRequest*)request {[request setValue:@"bytes=0-209" forHTTPHeaderField:@"Range"];NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];if ([data length] <= 0x58) {return CGSizeZero;}if ([data length] < 210) {// 肯定只有一個(gè)DQT字段short w1 = 0, w2 = 0;[data getBytes:&w1 range:NSMakeRange(0x60, 0x1)];[data getBytes:&w2 range:NSMakeRange(0x61, 0x1)];short w = (w1 << 8) + w2;short h1 = 0, h2 = 0;[data getBytes:&h1 range:NSMakeRange(0x5e, 0x1)];[data getBytes:&h2 range:NSMakeRange(0x5f, 0x1)];short h = (h1 << 8) + h2;return CGSizeMake(w, h);} else {short word = 0x0;[data getBytes:&word range:NSMakeRange(0x15, 0x1)];if (word == 0xdb) {[data getBytes:&word range:NSMakeRange(0x5a, 0x1)];if (word == 0xdb) {// 兩個(gè)DQT字段short w1 = 0, w2 = 0;[data getBytes:&w1 range:NSMakeRange(0xa5, 0x1)];[data getBytes:&w2 range:NSMakeRange(0xa6, 0x1)];short w = (w1 << 8) + w2;short h1 = 0, h2 = 0;[data getBytes:&h1 range:NSMakeRange(0xa3, 0x1)];[data getBytes:&h2 range:NSMakeRange(0xa4, 0x1)];short h = (h1 << 8) + h2;return CGSizeMake(w, h);} else {// 一個(gè)DQT字段short w1 = 0, w2 = 0;[data getBytes:&w1 range:NSMakeRange(0x60, 0x1)];[data getBytes:&w2 range:NSMakeRange(0x61, 0x1)];short w = (w1 << 8) + w2;short h1 = 0, h2 = 0;[data getBytes:&h1 range:NSMakeRange(0x5e, 0x1)];[data getBytes:&h2 range:NSMakeRange(0x5f, 0x1)];short h = (h1 << 8) + h2;return CGSizeMake(w, h);}} else {return CGSizeZero;}} }復(fù)制代碼

2 長圖加載和剪切圖片demo

使用第三方SDImageView 處理過
github.com/LiuDao27/cu…

總結(jié)

以上是生活随笔為你收集整理的项目遇到的问题或处理办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久操国产 | 成人午夜精品福利 | 阿v视频在线免费观看 | 男女爽爽 | 亚洲精品一区二区在线 | 天天曰天天干 | 午夜精品在线视频 | 不卡成人 | 97成人资源 | 中日韩毛片 | 色婷婷中文 | 日韩一区二区视频在线播放 | 成年人黄色小视频 | www.在线观看网站 | 一区二区色| 成人福利在线看 | 久久久久网站 | 激情伦成人综合小说 | 国产麻豆一区二区三区 | 青青草成人在线观看 | 中文字幕精品久久 | 爱情岛论坛成人av | 最新av中文字幕 | 二区中文字幕 | 日韩精品一区二区三区不卡在线 | 亚洲av无码精品色午夜果冻不卡 | 91桃色网站| 亚洲av色香蕉一区二区三区 | 影音先锋人妻啪啪av资源网站 | 国产又爽又色 | 一本色道久久hezyo加勒比 | 舐め犯し波多野结衣在线观看 | 国产二三区 | 91国在线啪| 美女调教视频 | 欧美热热| 免费荫蒂添的好舒服视频 | 免费手机av | 亚洲精品小说 | 好色婷婷 | 麻豆视频免费看 | 日韩欧美一区二区一幕 | 天天综合网永久 | 青青草免费公开视频 | 精品国产乱码一区二区三 | 国产一区日韩精品 | 中文字幕日韩在线观看 | 18无套直看片红桃 | 7777精品久久久久久 | 少妇人妻一区二区 | 一级特黄色 | 久久久久久97 | 老熟女重囗味hdxx69 | 日本免费a视频 | 白丝一区 | 欧美日韩资源 | 狠狠操亚洲 | 香蕉久久久久久久av网站 | 天堂va在线 | 进去里在线观看 | 国产嫩草影视 | 国产一区二区精品在线 | 97超碰人人| 国产伦精品一区二区三区视频免费 | 四川丰满妇女毛片四川话 | 黄色a级片在线观看 | 懂色av色吟av夜夜嗨 | 久久久久亚洲av无码a片 | 四虎永久免费影院 | 亚洲综合久久网 | 国产另类综合 | 一区二区三区www | 精品人妻久久久久久888不卡 | 欧美日韩色综合 | 亚洲av中文无码乱人伦在线视色 | 亚洲精品成人区在线观看 | 91啪国产 | 日韩精品在线观看一区二区三区 | 国产中文久久 | 久草视频在线免费播放 | 一级久久久久久 | 成人3d动漫在线观看 | 中国少妇无码专区 | 国产精品日韩一区二区 | 精品国产免费看 | 成人免费在线视频 | 国产精品av网站 | 1024视频在线 | 成人依依网| 免费在线视频一区 | 99免费观看 | 在线观看成年人视频 | 50部乳奶水在线播放 | 夜夜躁狠狠躁日日躁av | 精品视频一区二区在线 | 伊人久久麻豆 | 亚洲快播 | 18禁超污无遮挡无码免费游戏 | 国产 欧美 日韩 |