сохранять одни и те же изображения с одинаковыми именами в разных приложениях, не давая возможности вводить имя изображения вручную ((** на основе i pad **) - PullRequest
0 голосов
/ 27 июня 2011

Я выбираю одно изображение из библиотеки фотографий для отображения на моем изображении.

есть кнопка сохранения, чтобы сохранить этот файл изображения в комплекте приложений.

однако мне нужно сохранить одно и то же выбранное изображение на другом устройстве с тем же именем (изображения одинаковы). Поэтому, если пользователь вводит имя изображения на другом устройстве вручную, есть вероятность возникновения орфографической ошибки с именем изображения .то не будет сохранять то же имя.

Мне нужно избежать этой проблемы. Могу ли я получить какой-либо уникальный ключ из отображаемого изображения (оно всегда будет одинаковым для изображения). Затем я могу сохранить имя файла изображения в качестве уникального значения без предоставления возможности ввода имени изображения для пользователя. Таким образом, другое устройство также сохранит то же изображение, что и уникальное имя, сохраненное в другом приложении.

может сказать мне хороший способ сделать это. Просто мне нужно сохранять одни и те же изображения с одинаковыми именами в разных приложениях, не давая возможности ввести имя изображения вручную ( на основе i pad ).

1 Ответ

1 голос
/ 27 июня 2011

Вы можете использовать хэш изображения как MD5 или SHA

Например, вопрос о хеше MD5:

Алгоритм MD5 в Цели C

РЕДАКТИРОВАТЬ, используя код в предыдущей ссылке:

MyExtensions.h

@interface NSData (MyExtensions)
    - (NSString*)md5;
@end

MyExtensions.m

#import "MyExtensions.h"
#import <CommonCrypto/CommonDigest.h> // Need to import for CC_MD5 access

@implementation NSData (MyExtensions)
- (NSString*)md5
{
    unsigned char result[16];
    CC_MD5( self.bytes, self.length, result ); // This is the md5 call
    return [NSString stringWithFormat:
        @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
        result[0], result[1], result[2], result[3], 
        result[4], result[5], result[6], result[7],
        result[8], result[9], result[10], result[11],
        result[12], result[13], result[14], result[15]
        ];  
}
@end

Теперь вы можете назвать код так:

-(NSString *) md5Image:(UIImage *)img {
    return [UIImagePNGRepresentation(img) md5];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...