create - Guardar imagen en sandbox desde UIImage en iPhone
uiimage frame swift 4 (3)
Estás preguntando ''¿cómo escribo un archivo'' correcto?
Supongo que hay un toque de complicación ya que probablemente quiera escribir en el directorio Library / Caches, por lo que cuando se realiza una copia de seguridad del teléfono, no se guardan esos archivos.
Obtenga la raíz de la carpeta de la aplicación con NSHomeDirectory()
y luego anexe Library / Caches.
Puede escribir un NSData en el método fs w / a en NSData. Si tiene un UIImage, puede hacer UIImageJPEGRepresentation()
o UIImagePNGRepresentation
para obtener datos.
Estoy mostrando imágenes de gran tamaño en UITableView, debido a esto mi aplicación se cuelga después de un tiempo. Ahora quiero cambiar el tamaño de la imagen y guardarla en el disco. ¿alguien me puede ayudar a cambiar el tamaño de la imagen de NSData / UIImage y guardar guardarlo en el disco.
Obtuve el código para cambiar el tamaño de la imagen de UIImage, por lo que como resultado tengo mi tamaño en la imagen en el objeto UIImage, cómo guardarlo en el sandbox de iphone.
Gracias,
NSData *imgData = UIImageJPEGRepresentation(image, 1);
CGImageSourceRef source = CGImageSourceCreateWithData((CFMutableDataRef)imgData, NULL);
NSDictionary *metadata = [(NSDictionary *) CGImageSourceCopyPropertiesAtIndex(source,0,NULL)autorelease];
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Test.jpg"];
[imageMutableData writeToFile:jpgPath atomically:YES];
Test.jpg
su imagen en la carpeta de documentos en el Test.jpg
con el nombre Test.jpg
.
Si quieres hacerlo para PNG puedes probar UIImagePNGRepresentation(image);
Aquí hay un código para guardar en el directorio de Documentos en iOS que proviene del código de trabajo.
// Convert UIImage to JPEG
NSData *imgData = UIImageJPEGRepresentation(image, 1); // 1 is compression quality
// Identify the home directory and file name
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Test.jpg"];
// Write the file. Choose YES atomically to enforce an all or none write. Use the NO flag if partially written files are okay which can occur in cases of corruption
[imgData writeToFile:jpgPath atomically:YES];