Как использовать vImageFloodFill_Planar16U для заливки изображенияIOS

Программируем под IOS
Ответить
Anonymous
 Как использовать vImageFloodFill_Planar16U для заливки изображения

Сообщение Anonymous »

Я пытался заполнить изображение с помощью vImageFloodFill_ARGB8888, но это не сработало. Невозможно установить порог минимальной разницы в цвете, чтобы заливка действительно заполнялась. Я так и думал

Код: Выделить всё

 vImageFloodFill_Planar16U(const vImage_Buffer *srcDest, void *tempBuffer, vImagePixelCount seedX, vImagePixelCount seedY, Pixel_16U newValue, int connectivity, vImage_Flags flags);
может подойти для моих нужд, но я не могу всю жизнь понять, как передать это значение Pixel_16U newValue
Я пробовал преобразовать значения rgba UInt8 несколькими способами, и там Простой, похоже, не способ заставить его работать. Я продолжаю получать сообщение об ошибке, связанной с тем, что я передаю неправильное значение. Я даже пробовал chatgpt, но он не работает.
с помощью vImageFloodFill_ARGB8888 я могу передать замещающий цвет как массив значений UInt8, если я просто выполню &replacementColor, но если я попытаюсь преобразовать это массив в значения UInt16, это работает по-другому

Код: Выделить всё

        var rgbaComponents: [UInt16] = [UInt16(replacementRGBA.0), UInt16(replacementRGBA.1), UInt16(replacementRGBA.2), UInt16(replacementRGBA.3)]
vImageFloodFill_Planar16U(&buffer, &maskBuffer, vImagePixelCount(seedPoint.x), vImagePixelCount(seedPoint.y), rgbaComponents, 8, vImage_Flags(kvImageNoFlags))
выдает ошибку: невозможно преобразовать значение типа «[UInt16]» в ожидаемый тип аргумента «Pixel_16U» (он же «UInt16»)
I просто нужна функция заливки. Я перепробовал каждый фрагмент кода, который смог найти здесь, через чатгпт и даже прямое вырезание и вставку примера кода Apple для заливки, но ничего не помогло. Я либо получаю слишком мало заполнения, либо, как в этом вопросе, ничего не получаю, потому что не могу понять, как передать значение

Подробнее здесь: https://stackoverflow.com/questions/784 ... l-an-image
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»