Перейти к содержанию
Fire Monkey от А до Я

Поиск сообщества

Показаны результаты для тегов 'imageio'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 1 результат

  1. как в iOS создать превью (Thumbnail) большой картинки и не занять всю память... Тестирую на 11Мб jpg, 14К*9К = 126MPx = 500МБ битмап, взято с запасом против 48Мpx камер Целевое разрешение 120*90 В лоб загрузка и отрисовка превью - дорого по памяти -можно вылететь, особенно в несколько потоков в андроид есть TJBitmapFactory.JavaClass.decodeFile(Options.inSampleSize) и оно в несколько потоков делает превью в иос инет тыкает в CGImageSourceCreateThumbnailAtIndex (kCGImageSourceCreateThumbnailWithTransform и kCGImageSourceThumbnailMaxPixelSize ) из ImageIO заголовков iOSapi.ImageIO - нет, но прикрутил правкой Macapi.ImageIO - поправил фреймворк на libImageIO = '/System/Library/Frameworks/ImageIO.framework/ImageIO'; но не работает, а отладка на теле недоступна т.к. сборка на удаленном маке. код сыпет ImgRef = nil, т.е. CGImageSourceCreateThumbnailAtIndex - не отрабатывает, либо заголовки мною криво накручены либо 126MPx не подъемны для iOS uses iOSapi.CocoaTypes, iOSapi.CoreGraphics, Macapi.CoreFoundation, iOSapi.ImageIO{переделанный Macapi.ImageIO}, Macapi.Helpers, class function TPhotoProxy.LoadInThumb(const Filename:string; Surface:TBitmapSurface; const PrefferedSize:TSize):boolean; var Path: CFStringRef; Url: CFURLRef; ImgSourceRef: CGImageSourceRef; ImgRef: CGImageRef; Dict: CFDictionaryRef; Keys: array [0..10] of Pointer; Value: array [0..10] of Pointer; IntValue: Cardinal; begin Result := False; Path := CFStringCreateWithCString(nil, MarshaledAString(UTF8Encode(Filename)), kCFStringEncodingUTF8); try Url := CFURLCreateWithFileSystemPath(nil, Path, kCFURLPOSIXPathStyle, False); try ImgSourceRef := CGImageSourceCreateWithURL(Url, nil); if ImgSourceRef = nil then raise Exception.Create('ImgSourceRef = nil'); try Keys[0] := CFSTR('kCGImageSourceCreateThumbnailWithTransform'); Value[0] := kCFBooleanTrue; Keys[1] := CFSTR('kCGImageSourceCreateThumbnailFromImageAlways'); Value[1] := kCFBooleanTrue; Keys[2] := CFSTR('kCGImageSourceThumbnailMaxPixelSize'); if PrefferedSize.cx > PrefferedSize.cy then IntValue := Trunc(PrefferedSize.cx) else IntValue := Trunc(PrefferedSize.cy); Value[2] := CFNumberCreate(nil, kCFNumberSInt32Type, @intValue); Dict := CFDictionaryCreate(nil, @Keys[0], @Value[0], 3, nil, nil); try ImgRef := CGImageSourceCreateThumbnailAtIndex(ImgSourceRef, 0, Dict); if ImgRef = nil then raise Exception.Create('ImgRef = nil'); try Result := ImageToSurface(ImgRef, Surface, MaxInt); finally CGImageRelease(ImgRef); end; finally CFRelease(Dict); end; finally CFRelease(ImgSourceRef); end; finally CFRelease(Url); end; finally CFRelease(Path); end; end; к то чем поможет?
×
×
  • Создать...