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

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

Сообщение Anonymous »

Я играю с изображениями в Swiftui, сделав простой обложку книги.

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

VStack {
AsyncImage(url: URL(string: coverURL)) { phase in
switch phase {
case .failure:
Image(systemName: "photo")
.font(.largeTitle)
case .success(let image):
image.resizable()
default:
ProgressView()
}
}
.scaledToFit()
.frame(height: 300)
.cornerRadius(10)
.padding()

VStack {
Text(title)
.font(.title)
.foregroundStyle(.white)

if let author = author {
Text(author)
.font(.subheadline)
.foregroundStyle(.white)
}
}
.padding()

}
.padding(.top, geometry.safeAreaInsets.top)
.frame(maxWidth: .infinity)
.background(
AsyncImage(url: URL(string: coverURL)) { phase in
switch phase {
case .failure:
Color.gray
case .success(let image):
image.resizable()
default:
Color.gray
}
}
.blur(radius: 30, opaque: true)
)
< /code>
Проблема в том, что текст недостаточно контрастирует, когда изображение является легким. В идеале текст должен быть либо белым, либо черным в зависимости от фонового изображения. Я нашел предложения по вычислению среднего цвета изображения и основания цвета текста на этом, но они работают для Uiimage 
Not Image . Режим смешивания, .blendmode (.difference) , также не дал лучших результатов.>

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

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

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

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

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

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