SORU
25 Temmuz 2011, PAZARTESİ


Başvuru Belgeleri İçin Bir Resim İOS UİView Klasörü Kaydet

Yerleştirmek için bir kullanıcı sağlayan bir UİİmageView var ve kaydedilebilir bir resim kadar tutun. Sorun, aslında tasarruf ve görünümünde yerleştirdim görüntü almak için nasıl çözemedim.

Geri aldım ve böyle UİİmageView: resmi yerleştirilmiş

//Get Image 
- (void) getPicture:(id)sender {
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = (sender == myPic) ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    [self presentModalViewController:picker animated:YES];
    [picker release];
}


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage (UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    myPic.image = image;
    [picker dismissModalViewControllerAnimated:YES];
}

Benim UİİmageView seçilen görüntü gayet güzel görüntüler, ama onu kurtarmak için nasıl hiçbir fikrim yok. Görünüm (çoğunlukla UİTextfield) Çekirdek Veri tüm diğer parçaları biriktiriyorum. Aradım aradım ve denedim birçok bit kodu olan insanlar var önerdi, ama değilim girerek kod doğru, ya da bu bir öneri değil, işin yolum var benim kod ayarlayın. Eski olasıdır. Bu UİİmageView bu görüntü UİTextFields metni kaydetmek için kullanıyorum aynı eylemi (Kaydet düğmesini) kullanarak kaydetmek istiyorum. UİTextField bilgilerimi kurtarıyorum:

// Handle Save Button
- (void)save {

    // Get Info From UI
    [self.referringObject setValue:self.myInfo.text forKey:@"myInfo"];

Daha öncede söylediğim gibi, çeşitli yöntemler bu işe almaya çalıştım, ama bir kavrayışa almak yok dedim. Hayatımda ilk defa cansız bir nesneye fiziksel zarar vermek istedim, ama kendimi dizginlemeye çalıştım.

İstediğimi yapabilmek için Kaydet görüntü kullanıcı yerlerine UİİmageView uygulamanın belgeler, klasör ve sonra da muktedir almak ve yerine başka bir UİİmageView için ekran kullanıcı iter görünüm üzerine yığın. Herhangi bir yardım büyük beğeni topluyor!

CEVAP
25 Temmuz 2011, PAZARTESİ


İyi dostum. Kendine ya da başkalarına zarar verme.

Muhtemelen bu verileri büyür çok büyük ayarlarsanız performansını etkileyebilir bu yana Temel Veri olarak bu görüntüleri saklamak istemiyorum. Daha iyi dosyaları görüntüleri yazmak.

NSData *pngData = UIImagePNGRepresentation(image);

Bu çektiğiniz resmin PNG verileri ortaya çıkarır. Buradan, bir dosyaya yazabilirsiniz:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory 
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"]; //Add the file name
[pngData writeToFile:filePath atomically:YES]; //Write the file

Daha sonra okumak aynı şey geçerlidir. Biz sadece üzerinde yol inşa etmek, daha sonra:

NSData *pngData = [NSData dataWithContentsOfFile:filePath];
UIImage *image = [UIImage imageWithData:pngData];

Muhtemelen yapmak isteyeceğiniz şey bu kodu her yere saçılmış istemediğine göre sana yol dizeleri oluşturan bir yöntem olun. Bu gibi görünebilir:

- (NSString *)documentsPathForFileName:(NSString *)name
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);  
    NSString *documentsPath = [paths objectAtIndex:0];

    return [documentsPath stringByAppendingPathComponent:name]; 
}

Faydalı olur umarım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • bored before i even began

    bored before

    30 Mart 2009