Как создать TIFF на iPad

Я пытаюсь создать изображение TIFF из UIImage . Я заглянул в документы Apple, но не мог найти никакой информации.

Может ли кто-нибудь помочь мне и объяснить, как создать образ TIFF на iPad?

4 Solutions collect form web for “Как создать TIFF на iPad”

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

Вы даже можете использовать файл libtiff.a из ссылки ImageMagick выше. Просто установите заголовки lib и tiff в свой проект. РЕДАКТИРОВАТЬ:

Вот хороший учебник, показывающий вам, как написать tiff после установки libtiff. Во второй части учебника показано, как управлять сжатием.

Я чувствую, что этот ответ немного запоздал, но если кто-то еще захочет узнать, как это сделать, я думаю, вы найдете следующее:

 NSMutableData *mData = [NSMutableData dataWithCapacity:SOME_BIG_NUMBER]; CGImageDestinationRef myImageDest = CGImageDestinationCreateWithData((__bridge CFMutableDataRef)(mData), kUTTypeTIFF, 1, NULL); CGImageDestinationAddImage(myImageDest,image.CGImage, NULL); CGImageDestinationFinalize(myImageDest); CFRelease(myImageDest); 

Затем mData будет хранить кодировку NSData файла TIFF, которую вы затем можете сохранить на диск, загрузить на сервер, что угодно …

Возможно, вам придется включить MobileCoreServices и рамки ImageIO …

Павел

ImageMagick был скомпилирован для iOS и позволяет обрабатывать изображения TIFF. Инструкции можно найти здесь:

http://www.imagemagick.org/script/binary-releases.php?ImageMagick=34s6srn5bll7310o0qo6db5hb3#iOS

Существует также пример проекта, который иллюстрирует, как интегрировать эту функциональность в ваше приложение. Следует отметить, что включение этой библиотеки занимает несколько шагов – и инструкции включены в ссылку выше.

НАСТРОЙКА ПРОЕКТА ДЛЯ IMAGEMAGICK

Сначала загрузите последнюю версию (с первой ссылки выше) с помощью libs в названии. Сюда входят предварительно скомпилированные версии необходимых фреймворков. Распакуйте содержимое этого файла. Затем щелкните правой кнопкой мыши « Рамки» в ваших проектах iOS и выберите вариант « Добавить файлы» . Добавьте каждый из файлов с расширением .a. У вас должно быть что-то похожее на это:

Рамочная группа с необходимыми платформами ImageMagick

Затем вам нужно будет добавить правильные пути поиска заголовков. Перейдите в Настройки сборки для своего проекта и найдите пути поиска заголовков . Выберите это и добавьте новый путь поиска, соответствующий тому, где находится каталог include (из загрузки). Не добавляйте это только для отладки или выпуска, но для всех. Теперь у вас должно получиться следующее:

Пути поиска заголовков для ImageMagick

Теперь вы должны иметь возможность включать и использовать код из рамки ImageMagick.

Просто используйте следующий код, и вы получили .tiff image . Вы должны добавить ImageIO и MobileCoreServices Framework в свой проект.

 #import <ImageIO/ImageIO.h> #import <MobileCoreServices/UTCoreTypes.h> - (void)viewDidLoad { [super viewDidLoad]; [self convertImageIntoTIFF]; } -(void)convertImageIntoTIFF{ UIImage *img = [UIImage imageNamed:@"image.png"]; float compression = 1.0; // Lossless compression if available. int orientation = 1; // Origin is at top, left. CFStringRef myKeys[3]; CFTypeRef myValues[3]; CFDictionaryRef myOptions = NULL; myKeys[0] = kCGImagePropertyOrientation; myValues[0] = CFNumberCreate(NULL, kCFNumberIntType, &orientation); myKeys[1] = kCGImagePropertyHasAlpha; myValues[1] = kCFBooleanTrue; myKeys[2] = kCGImageDestinationLossyCompressionQuality; myValues[2] = CFNumberCreate(NULL, kCFNumberFloatType, &compression); myOptions = CFDictionaryCreate( NULL, (const void **)myKeys, (const void **)myValues, 3, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder NSLog(@"documentsDirectory %@", documentsDirectory); NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"image.tiff"]; [self writeCGImage:img.CGImage toURL:[NSURL fileURLWithPath:filePath] withType:kUTTypeTIFF andOptions:myOptions]; } - (void) writeCGImage: (CGImageRef) image toURL: (NSURL*) url withType: (CFStringRef) imageType andOptions: (CFDictionaryRef) options { CGImageDestinationRef myImageDest = CGImageDestinationCreateWithURL((CFURLRef)url, imageType, 1, nil); CGImageDestinationAddImage(myImageDest, image, options); CGImageDestinationFinalize(myImageDest); CFRelease(myImageDest); } 

Для получения дополнительной информации вы можете загрузить этот DemoCode .

Надеюсь, это то, что вы ищете. 🙂

  • UIImage не отображается с помощью Swift
  • iOS с помощью vImage - ускорить преобразование QCAR YUV в RGB
  • Утечка памяти iOS (UIImageView, UIImage, CGImage) не освобождена на ARC
  • ios8 UIImage imageNamed: crash
  • Как сделать до iOS5?
  • Создание единого изображения путем объединения нескольких изображений в iOS
  • Настроить печать с помощью UIActivityViewController
  • Нарисуйте текст и добавьте в UIImage iOS 5/6
  • Сделать UIImage из UIView, но НЕ в основной теме
  • UIImage из GRKPhoto с использованием ALAsset
  • Добавить текст в UIImage
  • Interesting Posts

    NSURLConnection отлично работает в iOS 4.3, но не в iOS 5 / iOS 6

    Ошибка CGImageCreate: недопустимый размер изображения: 0 x 0 с поворотом окна (выборщика)

    WebCore: рабочий: EXC_BAD_ACCESS при подключении отладчика Safari к проекту Xcode 8.3

    Просмотр черных полос сверху и снизу iPhone X Simulator

    iOS: отображение текущей информации о треке в LockScreen?

    Как удалить тестовый класс Xcode Swift из тестового навигатора?

    glDrawArrays выделяет память на каждом кадре

    Delphi XE4 iOS не может подключиться к PAServer

    Добавление кнопки «Выбор из библиотеки фотографий» на панель инструментов UIImagePickerController

    Я хочу остановить AVAudioRecorder, когда продолжительность составляет 5 минут

    Рисование пунктирных и непрерывных линий

    iOS: XMPP Подключается к подключению SSL старой школы

    Как получить данные потока типов из веб-службы

    Задача синхронизации операций в iOS

    Есть ли библиотека iTunes C ++ для Windows, которая позволяет получить доступ к файловой системе устройства с подключенным к USB-устройству iOS?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.