titlelabel color buttons iphone cocoa-touch uikit uiimage core-graphics

iphone - color - titlelabel swift



¿Cómo escalar un UIImage sin suavizar nada? (5)

#import <QuartzCore/CALayer.h>

view.layer.magnificationFilter = kCAFilterNearest

Quiero escalar un UIImage de tal manera que el usuario pueda ver los píxeles en el UIImage muy nítidos. Cuando lo pongo en un UIImageView y escala la matriz de transformación, el UIImage aparece suavizado y suavizado.

¿Hay alguna forma de renderizar en un contexto de mapa de bits más grande simplemente repitiendo cada fila y cada columna para obtener píxeles más grandes? ¿Cómo podría hacer eso?


También estaba intentando esto (en una subcapa) y no pude hacerlo funcionar, todavía estaba borroso. Esto es lo que tuve que hacer:

const CGFloat PIXEL_SCALE = 2; layer.magnificationFilter = kCAFilterNearest; //Nearest neighbor texture filtering layer.transform = CATransform3DMakeScale(PIXEL_SCALE, PIXEL_SCALE, 1); //Scale layer up //Rasterize w/ sufficient resolution to show sharp pixels layer.shouldRasterize = YES; layer.rasterizationScale = PIXEL_SCALE;


Para UIImage creado a partir de CIImage, puedes usar:

imageView.image = UIImage(CIImage: ciImage.imageByApplyingTransform(CGAffineTransformMakeScale(kScale, kScale)))


Al dibujar directamente en el contexto de mapa de bits, podemos usar:

CGContextSetInterpolationQuality(myBitmapContext, kCGInterpolationNone);

Encontré esto en CGContextDrawImage muy lento en iPhone 4