我正在将图像转换为MOV文件,并且有一件有趣的事情发生在我身上.我记录了每个颜色分量的位数,每个像素的位数和每行的字节数.这是我的代码:
NSLog(@"Image width: %d, Height: %d", CGImageGetWidth(image), CGImageGetHeight(image));
NSLog(@"BPC: %d \ BPP: %d \ ByPR: %d", CGImageGetBitsPerComponent(image), CGImageGetBitsPerPixel(image), CGImageGetBytesPerRow(image));
Run Code Online (Sandbox Code Playgroud)
这是我的输出:
图像宽度:300,高度:300(一切都如预期的那样)BPC:8(每种颜色8位......到目前为止很好)BPP:32(32 = 4个组件ARGB*每个颜色8位......得到它)ByPR :1216(每行300 px*每像素4个字节=每行1200个字节)
为什么我每行记录1216个字节,而不是1200?顺便说一句,这不仅仅是一个侥幸.当我根据缓冲区大小的数字创建视频时,它可以工作.当我用每行1200字节创建它时,我得到一些混乱的混叠效果.
思考?
我使用以下代码:
NSString *params = [NSString stringWithFormat:@"{\"username\": \"%@\", \"password\": \"%@\", \"client_id\": \"%@\", \"client_secret\": \"%@\"}",
mFieldUsername.text, mFieldPassword.text, [NTDefaults clientId], [NTDefaults clientSecret]];
NSLog(@"Params:\n%@", params);
NSURL *url = [NSURL URLWithString:[[NTDefaults baseEndpointUrl] stringByAppendingString:@"/api/token.json"]];
ASIHTTPRequest *request = [ASIFormDataRequest requestWithURL:url];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request addRequestHeader:@"Content-Length" value:[NSString stringWithFormat:@"%d",params.length]];
[request setAuthenticationScheme:(NSString *) kCFHTTPAuthenticationSchemeBasic];
[request setUsername:@"user"];
[request setPassword:@"pass"];
[request setShouldPresentCredentialsBeforeChallenge:YES];
[request setPostBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"Post Body: %@", request.postBody);
NSLog(@"Headers: %@", request.requestHeaders);
NSLog(@"URL: %@", url.absoluteString);
[request setDelegate:self];
[request startAsynchronous];
Run Code Online (Sandbox Code Playgroud)
哪个回来了:
错误:需要身份验证
有没有人对此有任何想法?使用ASIHTTPRequest成功验证了吗?