如何在iOS上使用CoreGraphics渲染的pdf上反转文本颜色?
我正在使用一个开源的PDF查看库(VFR PDF阅读器)。我正在尝试实现“夜间模式”或白色文本的黑色背景。我可以得到任何我喜欢的颜色的背景,但是我不能改变文本的颜色。您可以在“drawLayer”方法中看到可以在何处修改背景色。它只是简单地更改PDF渲染的矩形的颜色 我的问题是:我是否可以对“上下文”做些什么,使pdf中的文本改变颜色(在我的情况下,我想要白色文本)?所讨论的行如下所示(第558行):如何在iOS上使用CoreGraphics渲染的pdf上反转文本颜色?,ios,pdf,text,core-graphics,quartz-2d,Ios,Pdf,Text,Core Graphics,Quartz 2d,我正在使用一个开源的PDF查看库(VFR PDF阅读器)。我正在尝试实现“夜间模式”或白色文本的黑色背景。我可以得到任何我喜欢的颜色的背景,但是我不能改变文本的颜色。您可以在“drawLayer”方法中看到可以在何处修改背景色。它只是简单地更改PDF渲染的矩形的颜色 我的问题是:我是否可以对“上下文”做些什么,使pdf中的文本改变颜色(在我的情况下,我想要白色文本)?所讨论的行如下所示(第558行): 以下是我如何解决夜视问题的: 1) 我在NSUserDefault中跟踪用户偏好(夜间模式或日
以下是我如何解决夜视问题的: 1) 我在NSUserDefault中跟踪用户偏好(夜间模式或日间模式) 2) 在 a) 检索用户首选项
NSString *userViewMode = [[NSUserDefaults standardUserDefaults] objectForKey:@"DayOrNightSetting"];
b) 将CGContextRef的背景颜色设置为白色
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
c) 将CGContextDrawPage(上下文,_PDFPageRef)替换为:
我正在使用上面提到的代码,但是在特定的PDF页面上遇到了一些问题,这可以隐藏许多带有黑色背景和白色文本的页面,但不是全部。你知道吗?对于某些页面,它会使背景变成灰色,而不是black@ShreeshGarg是否一次渲染多个页面?如果我在上下文中仅呈现1页,则此代码适用于我。
NSString *userViewMode = [[NSUserDefaults standardUserDefaults] objectForKey:@"DayOrNightSetting"];
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
if ([userViewMode isEqualToString:@"Night"]) {
CGContextSetBlendMode(context, kCGBlendModeDestinationAtop);
CGContextDrawPDFPage(context, _PDFPageRef);
CGContextSetBlendMode(context, kCGBlendModeExclusion);
CGContextDrawPDFPage(context, _PDFPageRef);
}
else
{
CGContextSetBlendMode(context,kCGBlendModeNormal);
CGContextDrawPDFPage(context, _PDFPageRef);
}