たとえば、iOSツールバーで、不透明な黒と透明な独自の.pngをドラッグすると、iOSの青い光沢が自動的に追加されます。
ただし、これを自分で行う方法を知りたいのですが、単色で十分です。
たとえば、この画像がある場合:
その全体を無地、ピンク、青、または灰色にするために何をしますか?アプリに保存する.pngのバージョン数を、コードで色付けすることで削減したいと思います。
ありがとうございました!
たとえば、iOSツールバーで、不透明な黒と透明な独自の.pngをドラッグすると、iOSの青い光沢が自動的に追加されます。
ただし、これを自分で行う方法を知りたいのですが、単色で十分です。
たとえば、この画像がある場合:
その全体を無地、ピンク、青、または灰色にするために何をしますか?アプリに保存する.pngのバージョン数を、コードで色付けすることで削減したいと思います。
ありがとうございました!
これはあなたのためにそれをするはずです:
- (UIImage *)colorImage:(UIImage *)origImage withColor:(UIColor *)color
{
UIGraphicsBeginImageContextWithOptions(origImage.size, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, (CGRect){ {0,0}, origImage.size} );
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, origImage.size.height);
CGContextConcatCTM(context, flipVertical);
CGContextDrawImage(context, (CGRect){ pt, origImage.size }, [origImage CGImage]);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
iOS 7以降、黒(グレースケール)/透明な画像をこのように単色で着色できるようになりました
UIImage *image = [UIImage imageNamed:@"myImage.png"];
UIImageView *imageView = [[UIImageView alloc]initWithImage:[image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]];
imageView.tintColor = [UIColor redColor];