나는 바이트 배열로 서버에 보내고 싶은 이미지가 있습니다. 바이트 배열로 uiimage를 변환하는 방법을 알고 싶습니까? 나는 사전에 웹 서비스에UIImage를 바이트 배열 또는 base64 인코딩으로 변환하는 방법은 무엇입니까?
<byteArrayIn>base64Binary</byteArrayIn>
로
감사 매개 변수를 보낼 필요
나는 바이트 배열로 서버에 보내고 싶은 이미지가 있습니다. 바이트 배열로 uiimage를 변환하는 방법을 알고 싶습니까? 나는 사전에 웹 서비스에UIImage를 바이트 배열 또는 base64 인코딩으로 변환하는 방법은 무엇입니까?
<byteArrayIn>base64Binary</byteArrayIn>
로
감사 매개 변수를 보낼 필요
UIImage *img = ...;
CGFloat quality = 0.85;
NSData *jpegdata = UIImageJPEGRepresentation(img,quality);
또는
다음NSData *pngdata = UIImagePNGRepresentation(img);
아이폰 OS가 바이트에있는 UIImage로 변환하기위한 간단한 기능입니다 배열 ->
+ (unsigned char*)UIImageToByteArray:(UIImage*)image; {
unsigned char *imageData = (unsigned char*)(malloc(4*image.size.width*image.size.height));
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGImageRef imageRef = [image CGImage];
CGContextRef bitmap = CGBitmapContextCreate(imageData,
image.size.width,
image.size.height,
8,
image.size.width*4,
colorSpace,
kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(bitmap, CGRectMake(0, 0, image.size.width, image.size.height), imageRef);
CGContextRelease(bitmap);
CGImageRelease(imageRef);
CGColorSpaceRelease(colorSpace);
return imageData;
}
일단 바이트 배열 데이터가 있으면 base64 인코딩 알고리즘을 쉽게 구현할 수 있으며 위키 백과에서 읽을 수 있습니다. base64로 인코딩하는 더 쉬운 방법이 있을지도 모릅니다. 확실하지 않습니다. http://en.wikipedia.org/wiki/Base64
이는 여러 가지 이유로 비효율적입니다. UIImagePNGRepresentation이 훨씬 좋습니다. –
그러나 이미지는 JPEG 데이터로 메모리에 보관되지 않습니다. 'CGContextDrawImage'를 사용하면 BMP를 그립니다. –
난 그냥 UIImage에서 바이트 배열로 변환하는 방법을 제공하려고했다. 느려지지만 서버에 데이터를 보내기 전에 데이터를 수정하기를 원할 경우를 대비하여. –