This function saves raster image data in a JPEG2000 file.

[C++Builder]   BOOL IKGifFileSaveMem(HANDLE InHandle, HANDLE *OutHandle, BOOL Interlace, BOOL Trans, BYTE Red, BYTE Green, BYTE Blue, BOOL Anime, int Delay, LPCSTR Comment, IKPROCESSPROC UserProc, LPCTSTR Caption, LPCTSTR Message, LPCTSTR Button);
[Delphi]   function IKGifFileSaveMem(InHandle: THandle; var OutHandle: THandle; Interlace, Trans: LongBool; Red, Green, Blue: Byte; Anime: LongBool; Delay: Integer; Comment: PChar; UserProc: LONG_PTR; Caption, Message, Button: PChar): LongBool;

Parameters

Name Explanation
FileName The name of the file where the image data is saved
Handle The image handle of the raster image
JP2kFormat The format (False(0): JPEG2000 Part1, True(nonzero): JPEG2000 Code Stream)
Reversible The compression method (False(0): Non reversible, True(nonzero): Reversible)
Size The size of the saved file as a factor of the size of the uncompressed image.
TileWidth The width of the JPEG2000 format tile size (in pixels)
TileHeight The height of the JPEG2000 format tile size (in pixels)
NumrResLevel The level of the JPEG2000 format resolution. (from 0)
PrecinctWidth The width of the JPEG2000 format precinct size (measured by 2 to certain power (from 0 to 15))
PrecinctHeight The height of the JPEG2000 format precinct size (measured by 2 to certain power (from 0 to 15))
CodeBlockWidth The width of the JPEG2000 format code block size (measured by 2 to certain power (from 0 to 10))
CodeBlockHeight The height of the JPEG2000 format code block size (measured by 2 to certain power (from 0 to 10))
Comment The comment text to be saved (MAX:1023 bytes)

Set as follows: [title + 0x0d + Subject + ... + 0x0d]

      title: The image title

      Subject: The subject of the image

      Author: The creator of the image

      Comment: The comment

* In Delphi replace the above 0x with $.

UserProc The address of the user function (If not using the user function then set to 0)
Caption Sets the text displayed in the title bar of the progress dialog box
Message Sets the message displayed in the progress dialog box
Button Sets the name of the button displayed in the progress dialog box

Return Value

Returns True (nonzero) if successful. Returns False (0) if unsuccessful.

Explanation

The IKJ2kFileSave function saves raster image data in a JPEG2000 file. Supports 8 bit grayscale and 24 bit color.

In general, when JP2kFormat is False(0), the file extension is jpc or j2k. When True(nonzero) it is jp2. When Reversible is False(0), nonreversible ICT (nonreversible component conversion) and 9/7 nonreversible wavelet conversion is used. When True(nonzero), reversible RCT (reversible component conversion) and 5/3 reversible wavelet conversion is used. Size is a factor of the size of the uncompressed image. When Size is 0.01, for example, the compressed image will be 1/100th the size of the uncompressed image. Size is enabled when Reversible is False(0). The default value of Size is 0 meaning uncompressed.

If the user function is set or if the Caption, Message, and Button parameters are blank then the Progress dialog box is not displayed. If the Progress dialog box is displayed, it indicates the percentage of the current process completed. For more information about the user function please refer to the Definition of User Function in the Ik10File.dll, Ik10FileA.dll, Ik10File64.dll, Ik10File64A.dll section.

 

It is possible to save the file directly to FTP server or HTTP(S) server by setting the FTP or HTTP(S) server name in the FileName parameter.

(1) When saving the file to a local drive or network drive:
     IKJ2kFileSave("c:\abc.jp2", .....)

(2) When saving the file to FTP server:
     IKJ2kFileSave("FTP://www.newtone.co.jp/image/abc.jp2;;;true;user;password", .....)

(*)Parameter order when setting the FileName:
     FTP://ServerName/FolderName/FileName;ProxyName;PortNumber;PassiveMode;UserName;Password

When setting or changing the proxy server, the port number, and passive (PASV) mode connection, please be sure to pass in this information seperated by semicolons. Set the FTP server name or IP address, the proxy server name or IP address, the port number, passive mode connection, etc. If the port number is omitted, the defaul port number will be used. Passive mode connection can be either "true" or "false" in upper case or lower case letters. If omitted, passive mode connection will be used.

(3) When saving the file to HTTP(S) server:
     IKJ2kFileSave("http://www.newtone.co.jp/image/abc.jp2;;;;user;password", .....)

(*)Parameter order when setting the FileName:
     HTTP://ServerName/FolderName/FileName;ProxyName;PortNumber;HTTPS;UserName;Password

When setting or changing the proxy server, the port number, or using HTTPS, please be sure to pass in this information seperated by semicolons. Set the HTTP(S) server name or IP address, the proxy server name or IP address, the port number, HTTPS, etc. If the port number is omitted, the defaul port number will be used. IF HTTPS is omitted then HTTP server will be used.

[Differences from ImageKit7 ActiveX]

The ImageKit7 ActiveX only allowed files from local drives or network drives to be loaded or saved. Files can now be loaded and saved from FTP servers and HTTP(S) servers.

 

The ImageKit10 VCL is a product created by Newtone Corporation