“Downloadare” un’immagine e salvarla sull’iPhone

iPhone Soft! Commenta l'articolo

salva_img_iphone
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];

Scrivi un Commento

Home | Graffiti e Disegni | Educazione | Chi siamo | Blog | Progetti | Contatti
RSS Feed Comments RSS Accedi