Код: Выделить всё
vImageFloodFill_Planar16U(const vImage_Buffer *srcDest, void *tempBuffer, vImagePixelCount seedX, vImagePixelCount seedY, Pixel_16U newValue, int connectivity, vImage_Flags flags);
Я пробовал преобразовать значения 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))
I просто нужна функция заливки. Я перепробовал каждый фрагмент кода, который смог найти здесь, через чатгпт и даже прямое вырезание и вставку примера кода Apple для заливки, но ничего не помогло. Я либо получаю слишком мало заполнения, либо, как в этом вопросе, ничего не получаю, потому что не могу понять, как передать значение
Подробнее здесь: https://stackoverflow.com/questions/784 ... l-an-image
Мобильная версия