2016-07-18 4 views
1

Take # 2066E100 (ARGB8888) в качестве примера, предварительный просмотр цвета в Android: enter image description here (темно-зеленый)ARGB цвет отличается от прошивкой в ​​сравнении с Android

Однако в прошивкой, приведенный цвет, как это : enter image description here (светло-желтый)

Мне кажется, что альфа-канал не работает одинаково в iOS и Android. Итак, мой вопрос в том, что есть общая схема преобразования цвета argb с Android на iOS?

Я хочу сделать iOS одинаковым цветом с Android.

Edit: больше изображений (на этот раз я использую # 4066E100)

Android: enter image description here

IOS: enter image description here

Edit: добавить код SWIFT

if let context = CGBitmapContextCreate(&colors, dim, dim, 8, 4 * dim, CGColorSpaceCreateDeviceRGB(), CGImageAlphaInfo.PremultipliedLast.rawValue | CGBitmapInfo.ByteOrderDefault.rawValue) { 
     if let cgimage = CGBitmapContextCreateImage(context) { 
      let uiimage = UIImage.init(CGImage: cgimage) 
      return uiimage 
     } 
    } 
+0

Используйте что-то вроде Sip или любого другого выбора цвета, чтобы выбрать отображаемый цвет на mac, а затем используйте цветовой код для вашего приложения iOS. https://itunes.apple.com/us/app/sip/id507257563?mt=12 – Happiehappie

+0

изменить ios так же, как android – Zoe

+1

Может ли быть разница между тем фоном, в котором этот цвет отображается на обеих платформах? За белым фоном цвет должен отображаться как светло-желтый - за черным фоном, цвет должен выглядеть темно-зеленым - это связано с альфа-каналом –

ответ

1

Я сомневаюсь, что существует реальная разница между тем, как цвета ARGB обрабатываются на обеих платформах. Мне кажется, что единственное различие здесь - фон, на котором они отображаются.

Быстрый взгляд на цвет, который вы предоставили без альфа-канала, показывает ярко-зеленый цвет.

С 0x20 для альфа-канала это делает цвет почти прозрачным, и поэтому цвет фона, на котором отображается этот цвет, окажет сильное влияние на общий цвет.

Черный фон показывает, что темно-зеленый цвет вы видите, а на белом фоне будет видно, что ярко-желтый цвет вы видите.

Посмотрите на цвет фона на каждой платформе и убедитесь, что они одинаковы для обоих. Затем цвета должны выглядеть одинаково (различная четкость цвета дисплея не выдерживает).

+0

Спасибо за ответ. Это имеет смысл для меня. Однако, когда я делаю больше экспериментов, результат все же неверен. Не могли бы вы снова проверить мои изменения в вопросах? –

+0

Похоже, андроид правильно рисует, а ios добавляет белый фон. Как вы делаете это в ios? –

+0

Я добавил быстрый код в другое редактирование. Я сохранил цвета argb, а массив UInt32 назвал цвета. –

Смежные вопросы