怎么获得一个uiimage对象的大小的,例如1024byte等于多少kbb,多少byte

58.18.145.*
不错,既权威又准确
您的举报已经提交成功,我们将尽快处理,谢谢!
这个问题我要很严肃的告诉你:一个汉字=2个字节
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'NSData 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSString
NSData-& NSString
NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
NSString-&NSData
NSString *aString = @&1234abcd&;
NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
2.NSData 与 Byte
NSData-& Byte数组
NSString *testString = @&&;
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
Byte *testByte = (Byte *)[testData bytes];
for(int i=0;i&[testData length];i++)
printf(&testByte = %d\n&,testByte[i]);
Byte数组-& NSData
Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
NSData *adata = [[NSData alloc] initWithBytes:byte length:24];
NSData *imageData = [NSData dataWithBytes:sqlite3_column_blob(stmt, 4) length:sqlite3_column_bytes(stmt, 4)];
Byte数组-&16进制数
Byte *bytes = (Byte *)[aData bytes];
NSString *hexStr=@&&;
for(int i=0;i&[encryData length];i++)
NSString *newHexStr = [NSString stringWithFormat:@&%x&,bytes[i]&0xff];///16进制数
if([newHexStr length]==1)
hexStr = [NSString stringWithFormat:@&%@0%@&,hexStr,newHexStr];
hexStr = [NSString stringWithFormat:@&%@%@&,hexStr,newHexStr];
NSLog(@&bytes 的16进制数为:%@&,hexStr);
16进制数-&Byte数组
///// 将16进制数据转化成Byte 数组
NSString *hexString = @&3e435fab9c34891f&; //16进制字符串
Byte bytes[128];& ///3ds key的Byte 数组, 128位
for(int i=0;i&[hexString length];i++)
int int_& /// 两位16进制数转化后的10进制数
unichar hex_char1 = [hexString characterAtIndex:i]; ////两位16进制数中的第一位(高位*16)
int int_ch1;
if(hex_char1 &= '0' && hex_char1 &='9')
int_ch1 = (hex_char1-48)*16;&& //// 0 的Ascll - 48
else if(hex_char1 &= 'A' && hex_char1 &='F')
int_ch1 = (hex_char1-55)*16; //// A 的Ascll - 65
int_ch1 = (hex_char1-87)*16; //// a 的Ascll - 97
unichar hex_char2 = [hexString characterAtIndex:i]; ///两位16进制数中的第二位(低位)
int int_ch2;
if(hex_char2 &= '0' && hex_char2 &='9')
int_ch2 = (hex_char2-48); //// 0 的Ascll - 48
else if(hex_char1 &= 'A' && hex_char1 &='F')
int_ch2 = hex_char2-55; //// A 的Ascll - 65
int_ch2 = hex_char2-87; //// a 的Ascll - 97
int_ch = int_ch1+int_ch2;
NSLog(@&int_ch=%d&,int_ch);
bytes[j] = int_& ///将转化后的数放入Byte数组里
NSData *newData = [[NSData alloc] initWithBytes:bytes length:128];
NSLog(@&newData=%@&,newData);
3. NSData 与 UIImage
NSData-&UIImage
UIImage *aimage = [UIImage imageWithData: imageData];
//例:从本地文件沙盒中取图片并转换为NSData
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *name = [NSString stringWithFormat:@&ceshi.png&];
NSString *finalPath = [path stringByAppendingPathComponent:name];
NSData *imageData = [NSData dataWithContentsOfFile: finalPath];
UIImage *aimage = [UIImage imageWithData: imageData];
UIImage-& NSData
NSData *imageData = UIImagePNGRepresentation(aimae);
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'iOS开发NSData 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSString
NSData-& NSString
NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
NSString-&NSData
NSString *aString = @&1234abcd&;
NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
2.NSData&与&Byte
NSData-& Byte数组
NSString *testString = @&&;
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
Byte *testByte = (Byte *)[testData bytes];
for(int i=0;i&[testData length];i++)
printf(&testByte = %d\n&,testByte[i]);
Byte数组-& NSData
Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
NSData *adata = [[NSData alloc] initWithBytes:byte length:24];
Byte数组-&16进制数
Byte *bytes = (Byte *)[aData bytes];
NSString *hexStr=@&&;
for(int i=0;i&[encryData length];i++)
NSString *newHexStr = [NSString stringWithFormat:@&%x&,bytes[i]&0xff];///16进制数
if([newHexStr length]==1)
hexStr = [NSString stringWithFormat:@&%@&,hexStr,newHexStr];
hexStr = [NSString stringWithFormat:@&%@%@&,hexStr,newHexStr];
NSLog(@&bytes 的16进制数为:%@&,hexStr);
16进制数-&Byte数组
///// 将16进制数据转化成Byte 数组
NSString *hexString = @&3e435fab9c34891f&; //16进制字符串
Byte bytes[128];
///3ds key的Byte 数组, 128位
for(int i=0;i&[hexString length];i++)
/// 两位16进制数转化后的10进制数
unichar hex_char1 = [hexString characterAtIndex:i]; ////两位16进制数中的第一位(高位*16)
int int_ch1;
if(hex_char1 &= '0' && hex_char1 &='9')
int_ch1 = (hex_char1-48)*16;
//// 0 的Ascll - 48
else if(hex_char1 &= 'A' && hex_char1 &='F')
int_ch1 = (hex_char1-55)*16; //// A 的Ascll - 65
int_ch1 = (hex_char1-87)*16; //// a 的Ascll - 97
unichar hex_char2 = [hexString characterAtIndex:i]; ///两位16进制数中的第二位(低位)
int int_ch2;
if(hex_char2 &= '0' && hex_char2 &='9')
int_ch2 = (hex_char2-48); //// 0 的Ascll - 48
else if(hex_char1 &= 'A' && hex_char1 &='F')
int_ch2 = hex_char2-55; //// A 的Ascll - 65
int_ch2 = hex_char2-87; //// a 的Ascll - 97
int_ch = int_ch1+int_ch2;
NSLog(@&int_ch=%d&,int_ch);
bytes[j] = int_
///将转化后的数放入Byte数组里
NSData *newData = [[NSData alloc] initWithBytes:bytes length:128];
NSLog(@&newData=%@&,newData);
3. NSData 与 UIImage
NSData-&UIImage
UIImage *aimage = [UIImage imageWithData: imageData];
//例:从本地文件沙盒中取图片并转换为NSData
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *name = [NSString stringWithFormat:@&ceshi.png&];
NSString *finalPath = [path stringByAppendingPathComponent:name];
NSData *imageData = [NSData dataWithContentsOfFile: finalPath];
UIImage *aimage = [UIImage imageWithData: imageData];
UIImage-& NSData
NSData *imageData = UIImagePNGRepresentation(aimae);
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
1. NSData 与 NSString NSData-& NSString NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
NSString-&NSData NSString *aString = @&1 ...
1. NSData 与 NSString NSData-& NSString NSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];
NSString-&NSData NSString *aString = @&1 ...
转载自:/jacktu/archive//2241528.html1. NSData 与 NSStringNSData-& NSStringNSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8Str ...
1,NSData 与 NSString NSData --& NSString NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding]; NSString --& NSData NSString *aString = @&quo ...
Java与其他语言编写的程序进行tcp/ip socket通讯时,通讯内容一般都转换成byte数组型,java在字符与数组转换也是非常方便的:
1.将字符转换成byte数组
str = &罗长&;
byte[] sb = str.getBytes();
2.将byte数组转换成字符
objective-c是C 语言的超级,直接使用了 C 语言的数组. 定义数组 语法格式:type array[length],其中的 length 可以是个固定的整数也可以是整数变量或表达式. 定义数组时,如果没有对数组进行初始化,系统对数组元素赋值为默认的初始值.赋初始值的规则如下: 所有整型(包括字符型)的数组元素,系统默认赋值为0: 所有浮点型的数组 ...
本文介绍了OC的数组对象的基本方法的使用: 因为OC的数组中存储的为对象类型,所以我们可以新建一个Person类,通过Person生成对象进行操作. 其中Person.h中的代码为: #import @interface Person : NSObject { NSString *_ //姓名 NSString *_ //性别 NSInte ...
由于常用xib,所以不想用代码写那么多个button.而且也懒的算位置 直接xib拉线成四个数组.水果,零食,饮料,甜点. 入题实现的功能就是,在这四个数组之中只能在3个数组只选中5项.有点绕(就比如你选择了水果和零食饮料数组中的button之后,就不能再选中甜点了): 读者自行理解吧.我不能表达的所有人都明白 头部代码 1 #import & ...主题 : 怎么获得一个uiimage对象的大小的,例如多少kb,多少byte?
级别: 新手上路
可可豆: 248 CB
威望: 148 点
在线时间: 1575(时)
发自: Web Page
来源于&&分类
怎么获得一个uiimage对象的大小的,例如多少kb,多少byte?&&&
有个地方需要显示图片的大小
级别: 新手上路
可可豆: 46 CB
威望: 6 点
在线时间: 26(时)
发自: iPad
这个真不好计算,不同的压缩算法,结果都不一样。
级别: 新手上路
可可豆: 248 CB
威望: 148 点
在线时间: 1575(时)
发自: Web Page
图片是直接保存在沙盒目录下的,
级别: 论坛版主
UID: 83747
发帖: 3855
可可豆: 19515 CB
威望: 19386 点
在线时间: 2369(时)
发自: Web Page
转换成NSData。
级别: 新手上路
可可豆: 14 CB
威望: 14 点
在线时间: 1(时)
发自: Web Page
height * width *4 应该就差不多了吧
关注本帖(如果有新回复会站内信通知您)
3*3+1 正确答案:10
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版如何获取UIImage大小,以及转换NSData和压缩UIImage的方法 - 简书
下载简书移动应用
写了28855字,被16人关注,获得了13个喜欢
如何获取UIImage大小,以及转换NSData和压缩UIImage的方法
大家可能在项目过程中有时候会遇到一个这样的问题,就是需求所因,必须控制图片的大小才能上传到后台。UIImage的读取图片数据的方法:(一共两种)1.UIImageJPEGRepresentation这个是读取UIImage的JPEG格式的数据2.UIImagePNGRepresentation.这个是读取UIImage的PNG格式的数据第一种方法读取图片需要两个参数,UIImage和压缩系数,而第二种方法只需要一个参数UIImage即可.但是通过测试得出结论,虽然第二种方法只需要一个参数,但是返回的图片比第一种要大的多.如果对图片的清晰度要求不高,还可以通过设置 UIImageJPEGRepresentation的第二个参数,大幅度降低图片的大小.假如通过调用UIImageJPEGRepresentation(UIImage* image, 1.0)读取数据时,返回的数据大小为279KB,但更改压缩系数后,通过调用UIImageJPEGRepresentation(UIImage* image, 0.5)读取数据时,返回的数据大小只有60KB,大大压缩了图片的大小 ,而且从视角角度看,图片的质量并没有明显的降低.因此,在读取图片数据内容时,建议优先使用UIImageJPEGRepresentation,并可根据自己的实际使用场景,设置压缩系数,进一步降低图片的大小.
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:}

我要回帖

更多关于 byte kb 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信