I «Предполагая, что ваш взгляд изначально заполнен черным цветом, и вы хотите очистить некоторые пиксели до прозрачности. Для этого вам необходимо использовать основные графические методы. В зависимости от того, где вы хотите, чтобы код и как вы хотите сделать это ниже код может быть использован либо в drawRect
в целях или для создания маскирующего изображения (вы должны получить контекст в зависимости от обстоятельств):
CGContextRef ctx = ...;
CGContextSetFillColorWithColor(ctx, [UIColor blackColor].CGColor);
CGContextSetBlendMode(ctx, kCGBlendModeNormal);
CGContextFillRect(ctx, CGRectMake(0, 0, 320, 460));
// CGContextSetBlendMode(ctx, kCGBlendModeClear); // if you want to clear
CGContextSetFillColorWithColor(ctx, [[UIColor blackColor] colorWithAlphaComponent:0].CGColor);
for (int x = 0; x < 320; x++)
{
for (int y = 0; y < 460; y++)
{
CGContextFillRect(ctx, CGRectMake(x, y, 1, 1));
}
}
Ответ основан на идее, что у вас есть частично прозрачный вид поверх другого изображения (в другом представлении), которое вы пытаетесь замаскировать. Если у вас есть только изображение, и вы не хотите просматривать несколько видов, то вы можете (в drawRect
) нарисовать изображение в контексте, а затем зациклиться на пикселях, чтобы не должен был быть прозрачным и рисовать их другим цветом, используя код выше ,
Что вы пытаетесь достичь? Какая-то маска? Маскирование изображения под представлением? – Wain
да, если вы можете предоставить такой код, это было бы замечательно –