If just you want a short answer, send the image using the "rtc_ByteStream" data type.
Here is a Quick Start topic about
sending and receiving streams with RTC remote functions.
If you want to send more than just a Stream from the Server, you can pack multiple values of different types by using the "rtc_Record", "rtc_Array" or "rtc_DataSet" data type.
Here is a Quick Start topic about
using complex structures with RTC remote functions.
Just beware that some Database Engines inject a graphic field header to Graphic Fields (I don't know about MySQL, but it is true for the BDE and especially Paradox tables), which you would need to skip before copying the Stream into a "rtc_ByteStream" data type - if you want to copy it manually. If you need an example on copying Graphic field content into a "rtc_ByteStream" data type, I strongly recommend taking a look at the "DelphiDataSetToRtc" function from the "rtcDB" unit and checking the local "rtcSkipGraphicHeader" procedure in the "rtcDB.pas" unit.
Or ... provided you are using a MySQL Engine which works with a TDataSet descendant, instead of manually copying fields and images, you could use the "DelphiDataSetToRtc" function on the Server to get a complete TDataSet content into a "rtc_DataSet" object, which you can send back as a response:
DelphiDataSetToRtc(MySqlDataSet, Result.NewDataSet);
If you need an explanation about that function,
here is a related FAQ Topic.
If you need more info, please check the Quick Start lessons and the FAQ's about using RTC remote functions.
Best Regards,
Danijel Tkalcec