### QPx_TranscodeJPEGBLOB

QPx_TranscodeJPEGBLOB(inputData; outputData; transformationType; mcuHandling; markerHandling):error
| inputData | BLOB | Input JPEG BLOB
| outputData | BLOB | Output JPEG BLOB
| transformationType | Longint | Geometric transformation
| mcuHandling | Longint | MCU handling
| markerHandling | Longint | Handling of non-image data
| error | Longint | Error result

Performs geometric transformations and/or processes the non-image data of a JPEG BLOB by directly transcoding the data (ie, without decompressing).

Parameter inputData holds the input data and the transcoded JPEG is received by outputData.

Parameter transformationType specifies the geometric transformation to perform on the image data. Transformations are defined by the following constants:

qpx_JPEGTransformNone | 0 | Do not transform
qpx_JPEGFlipHorz | 1 | Flip horizontally
qpx_JPEGFlipVert | 2 | Flip vertically
qpx_JPEGMirrorAcrossUL2LRAxis | 3 | Mirror across upper-left to lower-right axis
qpx_JPEGMirrorAcrossUR2LLAxis | 4 | Mirror across upper-right to lower-left axis
qpx_JPEGRotate90 | 5 | Rotate 90
qpx_JPEGRotate180 | 6 | Rotate 180
qpx_JPEGRotate270 | 7 | Rotate 270

All transformations except qpx_JPEGMirrorAcrossUL2LRAxis may be affected if the image dimensions are not a multiple of the MCU size (8 pixels for grayscale, 16 pixels for color images). Because only complete blocks of data can be transformed, some transformations may leave untransformed blocks at the edges.

The following table summarizes the effects of non-MCU-multiple image dimensions for each available transformation. A * indicates that the specific transformation will cause "edge effects".

Transformation | (width % MCU) # 0 | (height % MCU) # 0
qpx_JPEGRotate90 |  | *
qpx_JPEGRotate180 | * | *
qpx_JPEGRotate270 | * |
qpx_JPEGFlipHorz | * |
qpx_JPEGFlipVert |  | *
qpx_JPEGMirrorAcrossUL2LRAxis |  |
qpx_JPEGMirrorAcrossUR2LLAxis | * | *

Parameter mcuHandling specifies how to handle this issue. Available options are:

qpx_JPEGIgnorePartialMCUs | 0 | Ignore untransformed blocks at the edges
qpx_JPEGTrimPartialMCUs | 1 | Trim images with odd dimensions
qpx_JPEGProhibitPartialMCUs | 2 | Transform only even-size images

Parameter markerHandling specifies how to treat the non-image data of the input JPEG. It can be one of the following constants:

qpx_JPEGCopyAllMarkers | 0 | Copy all non-image data
qpx_JPEGCopyCommentsOnly | 1 | Copy comments only
qpx_JPEGCopyNoMarkers | 2 | Do not copy non-image data

Related commands

QPx_TranscodeJPEGFile | Transcodes a JPEG file

QPix © Escape
Generated by QDoc 2.8 on Wed, Feb 17, 2010 17:45:30