我正在我的应用程序中使用此代码,它将帮助我发送图像。
但是,我有一个带有图像的图像视图。我在appbundle中没有文件,但在我的一侧有图像。如何更改以下代码?谁能告诉我怎样才能把myimage
转换成NSData
?
// Attach an image to the email
NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];
发布于 2012-05-22 13:57:27
NSData *imageData = UIImagePNGRepresentation(myImage.image);
发布于 2014-05-31 11:06:14
如果您的UIImageView中有一个镜像,例如"myImageView",您可以执行以下操作:
使用UIImageJPEGRepresentation()或UIImagePNGRepresentation()转换图像,如下所示:
NSData *data = UIImagePNGRepresentation(myImageView.image);
//or
NSData *data = UIImageJPEGRepresentation(myImageView.image, 0.8);
//The float param (0.8 in this example) is the compression quality
//expressed as a value from 0.0 to 1.0, where 1.0 represents
//the least compression (or best quality).
您还可以将此代码放在GCD块中,并在另一个线程中执行,在此过程中显示一个UIActivityIndicatorView……
//*code to show a loading view here*
dispatch_queue_t myQueue = dispatch_queue_create("com.my.queue", DISPATCH_QUEUE_SERIAL);
dispatch_async(myQueue, ^{
NSData *data = UIImagePNGRepresentation(myImageView.image);
//some code....
dispatch_async( dispatch_get_main_queue(), ^{
//*code to hide the loading view here*
});
});
发布于 2015-12-10 15:23:44
- (void) imageConvert
{
UIImage *snapshot = self.myImageView.image;
[self encodeImageToBase64String:snapshot];
}
call this method for image convert in base 64
-(NSString *)encodeImageToBase64String:(UIImage *)image
{
return [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
https://stackoverflow.com/questions/6476929
复制相似问题