I have read the previous posting in this forum. In it, it mentioned the use of dataset to achieve this. Sorry but its not in C#.
I create a dataset which one of the field in the data table is base64binary.
After retrieval of the file path, open the file and store the image file as array of byte in that column.
When you bind the dataset to your report as the data source, you can easily drag and drop the image field to your report.
Conversion of image file to array of byte:
Dim fs As New System.IO.FileStream(<file path>, IO.FileMode.Open)
Dim br As New System.IO.BinaryReader(fs)
Dim arrayByte() As Byte
arrayByte = br.ReadBytes(CInt(fs.Length))
Hope this help!