When I save an JPEG image that has Exif parameters with GDI+ I loose the Exif data. Any idea how can we retain it in the saved image?
Regards,
Peter Redei
Regards,
Peter Redei
$EncoderSaveFlag = GUID$("{292266FC-AC40-47BF-8CFC-A85B89A655DE}") %EncoderParameterValueTypeLong = 4 %EncoderValueFlush = 20 TYPE EncoderParameter pGuid AS GUID ' // GUID of the parameter NumberOfValues AS DWORD ' // Number of the parameter values dwType AS DWORD ' // Value type, like ValueTypeLONG etc. Value AS DWORD ' // A pointer to the parameter values END TYPE TYPE EncoderParameters Count AS DWORD ' // Number of parameters in this structure Parameter(0) AS EncoderParameter ' // Parameter values - variable-length array END TYPE DECLARE FUNCTION GDI_GdipSaveImageToFile(BYVAL lpImage AS DWORD, BYVAL flname AS STRING, BYREF clsidEncoder AS GUID, OPTIONAL BYREF EncoderParams AS EncoderParameters) AS LONG FUNCTION GdipSaveImageToFile(BYVAL lpImage AS DWORD, BYVAL flname AS STRING, BYREF clsidEncoder AS GUID, OPTIONAL BYREF EncoderParams AS EncoderParameters) AS LONG LOCAL procAddr AS DWORD LOCAL hRes AS LONG LOCAL eps AS EncoderParameters LOCAL ep AS EncoderParameter LOCAL parameterValue AS DWORD eps.Count = 1 ' // Initialize the one EncoderParameter object. eps.Parameter(0).pGuid = $EncoderSaveFlag eps.Parameter(0).dwType = %EncoderParameterValueTypeLong eps.Parameter(0).NumberOfValues = 1 eps.Parameter(0).Value = VARPTR(parameterValue) parameterValue = %EncoderValueFlush IF hGdiLIB = 0 THEN FUNCTION = 0 ELSE procAddr = GetProcAddress(hGdiLIB, "GdipSaveImageToFile") CALL DWORD procAddr USING GDI_GdipSaveImageToFile(lpImage, flname, clsidEncoder, eps) TO hRes FUNCTION = hRes END IF END FUNCTION
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.
Comment