Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

CGCreateImageFromJPEGDataProviderMBS(dataprovider as Variant, decode as memoryblock, shouldInterpolate as boolean, intent as Integer) as CGImageMBS
Type Topic Plugin Version macOS Windows Linux Console & Web iOS
global method CoreGraphics MBS MacCG Plugin 3.3 Yes No No Yes, macOS only No
Function: Creates a new CGImage with JPEG data.
// Shows moon.jpg from the desktop folder
// shows in the window title if i,p or u is nil.

Sub Mainwindow.Paint(g As Graphics)
dim f as FolderItem
dim p as CGDataProviderMBS
dim i as CGImageMBS

if p=nil then

if i=nil then
window1.CGContextMBS.DrawPicture i,CGMakeRectMBS(0,0,i.Width,i.Height)
end if
end if

End Sub
Dataprovider must be a CGDataProviderMBS object.


A reference to a data provider supplying JPEG-encoded data.

Pass the decode array for the image. In the decode array, for each color component in the source color space, you provide a pair of values denoting the upper and lower limits of a range. For example, the decode array for a source image in the RGB color space would contain six entries total, consisting of one pair each for red, green, and blue. When the image is rendered, Quartz uses a linear transform to map the original component value into a relative number within your designated range that is appropriate for the destination color space. If you do not want to allow remapping of the image's color values, pass nil for the decode array. The memoryblock for the array needs to be filled with double values.

Pass true if interpolation should occur; otherwise, pass false . The interpolation setting specifies whether Quartz should apply a pixel-smoothing algorithm to the image. If you pass false , the image may appear jagged or pixelated when drawn on an output device with higher resolution than the image data.

Pass a CGColorRenderingIntent value specifying how Quartz should display colors in the image that are not located within the current color space of the graphics context. The rendering intent determines the exact method used to map colors from one color space to another.

Some examples using this method:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS MacCG Plugin.

The biggest plugin in space...

MBS Xojo Plugins