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

# QLThumbnailRequestCreateContext(_:_:_:_:)

Creates a graphics context to draw the thumbnail in.

```
func QLThumbnailRequestCreateContext(_ thumbnail: QLThumbnailRequest!, _ size: CGSize, _ isBitmap: Bool, _ properties: CFDictionary!) -> Unmanaged<CGContext>!
```

## Parameters

`size`

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

`isBitmap`

`true` if the thumbnail data is bitmap-based, `false` if vector-based. This value of this parameter affects the interpretation of the `size` parameter.

`properties`

A dictionary containing properties for the thumbnail response. For macOS 10.5, no properties have been defined.

## Return Value

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

## Discussion

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

With this function you can create two types of graphics contexts for drawing thumbnails: bitmap and single-page vector-based; you use the `isBitmap` flag to distinguish between the two. Quick Look handles bitmap thumbnail context differently than non-bitmap contexts; in the latter case, Quick Look might scale the drawing up or down if necessary, and it respects the scale factor (for HiDPI support).

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 thumbnail request is made in; generally, this is the same thread in which the `GenerateThumbnailForURL` 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)