Уменьшите размер UIImage до управляемого размера (уменьшите байты),

  1. Ограничить максимальное количество одновременных вызовов триггера служебной шины.

    В host.json добавьте конфигурацию к параллелизму газа (то есть по умолчанию 16 messages at once, который вы видели). Возьмите пример функции v2.

    {
      "version": "2.0",
      "extensions": {
        "serviceBus": {
            "messageHandlerOptions": {
                "maxConcurrentCalls": 8
            }
         }
      }
    }
    
  2. Ограничить Количество экземпляров узла функции . Когда хост масштабируется, каждый экземпляр имеет один триггер служебной шины, который одновременно читает несколько сообщений, как указано выше.

    Если триггер находится в выделенном плане обслуживания приложения, масштаб в экземпляре считается небольшим значением. Для функций в плане потребления добавьте настройку приложения WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT с приемлемым значением (< = 5). Конечно, мы можем установить количество в 1, чтобы строго контролировать поведение.

  3. Если мы контролируем, как отправляются сообщения, планируем входящие сообщения , чтобы помочь уменьшить частоту запросов.

  4. Использовать статических клиентов для повторного использования соединения с сервером S1.

9
задан Mustafa 29 January 2009 в 14:18
поделиться

4 ответа

Если Вы хотите просто сжать свой UIImage, можно использовать

NSData *dataForPNGFile = UIImagePNGRepresentation(yourImage);

для генерации версии NSData изображения, закодированного как PNG (легко вставленный в NSDictionary или записанный в диск), или можно использовать

NSData *dataForPNGFile = UIImageJPEGRepresentation(yourImage, 0.9f);

сделать то же, только в формате JPEG. Второй параметр является качеством изображения JPEG. Оба из них должны произвести изображения, которые меньше, мудры памятью, чем Ваш UIImage.

Изменение размеров UIImage для создания меньшей миниатюры (мудрое пикселями) использование опубликовало методы, немного более хитро. _imageScaledToSize от частного API, и я настоятельно рекомендовал бы, чтобы Вы не использовали его. Для средства, которое работает в рамках зарегистрированных методов, см. это сообщение.

23
ответ дан 4 December 2019 в 06:41
поделиться

Необходимо вовлечь изображение в графический контекст в меньшем размере. Затем выпустите исходное изображение.

1
ответ дан 4 December 2019 в 06:41
поделиться

При высказывании 'физического размера' Вы говорите о печати? Поскольку можно просто изменить размер страницы принтера.

Вы говорите о числе пикселей, используемых для получения изображения? Как в, если у Вас есть пиксельная матрица 3000x2000, и Вы только хотите 150x150, затем можно обрезать изображения. Во время получения, если у Вас есть научный формирователь изображения, затем можно просто установить область, которая будет получена. Драйвер камеры включал бы инструкции для этого. Если Вы хотите получить 3000x2000 дюймов 1500x1000, можно попробовать к мусорному ведру изображение, если это - то, в чем Вы нуждаетесь.

Или, можно использовать постполучение передискретизации для создания изображения меньшим. Один такой алгоритм является передискретизацией bicubic, также линейной передискретизацией - существует много изменений.

Я думаю, что это в последний раз - то, чем Вы больше всего интересуетесь..., в этом случае, проверяете эту страницу Wikipedia на алгоритм. Или, можно перейти к FreeImage и получить библиотеку, которая будет читать в изображении и может также изменить размер изображений.

0
ответ дан 4 December 2019 в 06:41
поделиться

На днях я столкнулся с этой проблемой и провел небольшое исследование. Я нашел отличное решение с кодом здесь:

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

11
ответ дан 4 December 2019 в 06:41
поделиться