Apr 12
Vediamo come scaricare un’immagine da un url e salvarla nell’iphone.
La cosa migliore è vederlo con un esempio.
Create un nuovo progetto “View-based Application” e decommentate il metodo “- (void)viewDidLoad ” e inserite il codice sottostante all’interno di questo metodo. Quando la view è pronta alla visualizzazione, verrà eseguito il codice.
.
// aggiungo una label per viasualizzare il risultato UILabel *text = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; [text setFont:[UIFont systemFontOfSize:15]]; [text setTextColor:[UIColor blackColor]]; [text setBackgroundColor:[UIColor whiteColor]]; [text setNumberOfLines:50]; [self.view addSubview:text]; [text release]; NSMutableString *str = [[NSMutableString alloc] init]; [str appendString:@"Downloading...\n"]; // prende un'immagine da un URL UIImage *imageUrl = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://softeoscar.altervista.org/images/softeoscar.png" ] ]; [str appendFormat:@"%f,%f\n",imageUrl.size.width,imageUrl.size.height]; // salva il file nella cartella "Document". // se vuoi puoi difinire una nuova cartella // NSString *deskTopDir = @"/Users/Soft!/Desktop"; NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; // stampa l'intera path dove verrà salvato il file [str appendFormat:@"%@\n",docDir]; [str appendString:@"salva png\n"]; NSString *pngFilePath = [NSString stringWithFormat:@"%@/test.png",docDir]; // salva l'immagine come PNG NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(imageUrl)]; [data1 writeToFile:pngFilePath atomically:YES]; [str appendString:@"salva jpeg\n"]; NSString *jpegFilePath = [NSString stringWithFormat:@"%@/test.jpeg",docDir]; // salva l'immagine come JPG NSData *data2 = [NSData dataWithData:UIImageJPEGRepresentation(imageUrl, 1.0f)]; //1.0f = 100% qualità della jpeg [data2 writeToFile:jpegFilePath atomically:YES]; // salva l'immagine nell'album delle foto UIImageWriteToSavedPhotosAlbum(imageUrl, nil, nil, nil); [str appendString:@"saving image to photosalbum\n"]; [str appendString:@"saving image done"]; [text setText:str]; [imageUrl release]; // visualizza l'immagine salvata come riprova UIImage *imageSave = [[UIImage alloc] initWithData: [NSData dataWithContentsOfFile:pngFilePath ] ]; UIImageView *iv = [[UIImageView alloc] initWithImage: imageSave ]; [imageSave release]; [self.view addSubview:iv];
Ultimi Commenti