Вопрос об альфа-значениях изображений - PullRequest
2 голосов
/ 14 июня 2011
  // Make half-transparent grey, the background color for the layer
   UIColor *Light_Grey 
      = [UIColor colorWithRed : 110/255.0 
                        green : 110/255.0 
                        blue  : 110/255.0 
                        alpha : 0.5];

  // Get a CGColor object with the same color values
   CGColorRef cgLight_Grey = [Light_Grey CGColor];
   [boxLayer setBackgroundColor : cgLight_Grey];

  // Create a UIImage
   UIImage *layerImage = [UIImage imageNamed : @"Test.png"];

  // Get the underlying CGImage
   CGImageRef image = [layerImage CGImage];

  // Put the CGImage on the layer
   [boxLayer setContents : (id) image];

Рассмотрим приведенный выше пример кода.

UIColor * Light_Grey устанавливается с альфа-значением 0,5. У меня такой вопрос: могу ли я в любом случае установить альфа-значение CGImageRef image ?

Причина моего вопроса в том, что альфа-значение boxLayer равно 0,5, любые изображения, установленные поверх BoxLayer , по-видимому, имеют альфа-значение по умолчанию 1, которое будет скрывать все, что лежит прямо под изображениями.

Надеюсь, что кто-то знает об этом, может помочь.

1 Ответ

1 голос
/ 14 июня 2011

Похоже, что вы можете сделать копию, используя CGImageCreate и использовать массив декодирования для изменения масштаба альфа (например, 0,0-0,5)

декодирование

Массив декодирования для изображения.Если вы не хотите разрешать переназначение значений цвета изображения, передайте NULL для массива декодирования.Для каждого цветового компонента в цветовом пространстве изображения (включая альфа-компонент) массив декодирования предоставляет пару значений, обозначающих верхний и нижний пределы диапазона.Например, массив декодирования для исходного изображения в цветовом пространстве RGB будет содержать всего шесть записей, состоящих из одной пары для красного, зеленого и синего цветов.Когда изображение визуализируется, Quartz использует линейное преобразование, чтобы отобразить исходное значение компонента в относительное число в указанном диапазоне, которое соответствует цветовому пространству назначения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...