Tell me how to upload pictures to the forum and I'll do it.

Most of the work is plain code, on byte arrays.

The only VCL comes when you want the output to a DIB or pascal code written to a memo.

In these cases, the components are passed as parameters.