什么是图形上下文?(iOS)

16

图形上下文到底是什么?使用Core Graphic绘制时,我们会得到一个对上下文的引用。当我查看文档时,它似乎是一个对象或者说负责正确绘制(无论是打印、设备、pdf等)的东西。

有人可以帮助我理解上下文到底是什么吗?我尝试阅读文档,但我不理解。它是包含有关系统或其他信息(元数据)的对象吗?

提前感谢


2
似乎是与https://dev59.com/Mm445IYBdhLWcg3wnroi#4772545重复。 - hotpaw2
3个回答

11

"看起来像是一个对象或者其他东西,能够确保正确地绘制,无论是打印、设备、pdf等等。"

完全正确。

你只需要编写一些“真正”完成绘制的例程(但它可以绘制到任何地方,任何类型的设备上)。你不必担心除了抽象的绘图之外的任何事情...例如线条、圆圈、排版、颜色和其他类似的东西。

-(void)happyDrawing
-(void)sadDrawing
-(void)fancyDrawing

然后 - 令人惊讶的是 - 你可以在任何地方使用它们。

-(void)makeSomeFiles
   {
   .. set up a context for making files
   .. happyDrawing
   }
-(void)makeATruGrayScaleBitmap
   {
   .. set up a context for making a gray bitmap
   .. happyDrawing
   }
-(void)drawRect
   {
   .. drawing on your Lisa screen
   .. happyDrawing
   }
-(void)drawRect
   {
   .. drawing on your iPad screen
   .. happyDrawing
   }
-(void)printAPage
   {
   .. set up a context for printing
   .. happyDrawing
   }

希望这能有所帮助!


我不知道你和OP所说的“无论是打印、设备、PDF等等”的意思是什么。我在CALayer上画了一条线,对于PDF/打印机来说,画一条线意味着什么?我的意思是最终所有的东西都是用UIKit、Core-Graphics完成的... - mfaani

0
简单来说,这是一个图形在实际呈现之前被渲染或绘制的区域。

-12

图形上下文决定了你是如何绘制屏幕的,无论是OpenGL还是某个2D库。你应该知道这一点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接