What is the correct way to print an image containing an embedded icc profile?
The way I am trying right now is to:
- call
DocumentPropertiesto get the size of aDEVMODEstruct - call
DocumentPropertiesto get a defaultDEVMODE - set
dmICMMethod = DMICMMETHOD_SYSTEManddmICMIntent = DMICM_CONTRAST - call
DocumentPropertiesto merge my settings into theDEVMODEstruct - call
CreateDCwith the newly createdDEVMODEstruct - call
StartDocwith the hDC - call
StartPagewith the hDC - call
SetICMModeto enable ICM - load an image into a
BITMAPV5HEADERwhere thebV5CSTypeis set toPROFILE_EMBEDDEDand thebV5ProfileDataand thebV5ProfileSizeis set.bV5Intentis set toLCS_GM_IMAGES - draw the image using
StretchDIBits - clean up
Questions:
- Is this the right way to do it?
- Does the call to
SetICMModeoverride value set in theDEVMODE.dmICMMethod? - Does the
BITMAPV5HEADER.bV5Intentoverride theDEVMODE.dmICMIntent? - Should this give the same output as Photoshop when color handling in Photoshop is set to "Printer manages colors"?