<!--
{
  "availability" : [
    "macOS: 10.0.0 - 12.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "QuickLook",
  "identifier" : "/documentation/QuickLook/QLPreviewRequestCreateContext(_:_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Quick Look"
    ],
    "preciseIdentifier" : "c:@F@QLPreviewRequestCreateContext"
  },
  "title" : "QLPreviewRequestCreateContext(_:_:_:_:)"
}
-->

# QLPreviewRequestCreateContext(_:_:_:_:)

Creates a graphics context to draw the preview in.

```
func QLPreviewRequestCreateContext(_ preview: QLPreviewRequest!, _ size: CGSize, _ isBitmap: Bool, _ properties: CFDictionary!) -> Unmanaged<CGContext>!
```

## Parameters

`preview`

The preview request object.

`size`

The size of the preview; if `isBitmap` is `true` the size is in pixels, otherwise it’s in points.

`isBitmap`

`true` if the preview uses a bitmap-based graphics context, `false` otherwise. This value of this parameter affects the interpretation of the `size` parameter.

`properties`

A dictionary containing properties for the preview response. `Preview Properties` lists the current property keys and describes their values.

## Return Value

A Core Graphics graphics-context object that you can draw your preview image in. You should explicitly release this object when it is no longer needed.

## Discussion

You can directly draw your preview data in the graphics-context object created by this function. After calling this function, you should flush the context with [`QLPreviewRequestFlushContext(_:_:)`](/documentation/QuickLook/QLPreviewRequestFlushContext(_:_:)). Also be sure to release the `CGContext` object.

Quick Look provides three types of graphics contexts for drawing previews: bitmap, single-page vector-based, and multi-page vector-based (for PDF previews). You use this function to acquire a context for bitmap and single-page vector drawing; the `isBitmap` parameter is used to distinguish between them. For multi-page contexts, use the [`QLPreviewRequestCreatePDFContext(_:_:_:_:)`](/documentation/QuickLook/QLPreviewRequestCreatePDFContext(_:_:_:_:)) function.

If you prefer to work in Objective-C code, you can convert the created <doc://com.apple.documentation/documentation/CoreGraphics/CGContext> to a <doc://com.apple.documentation/documentation/AppKit/NSGraphicsContext> object using <doc://com.apple.documentation/documentation/AppKit/NSGraphicsContext/init(graphicsPort:flipped:)>.

### Special Considerations

Thread-safety: This function should be called in the same thread as the preview request is made in; generally, this is the same thread in which the `GeneratePreviewForURL` callback was invoked.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)