/// Returns a copy of the image in the given pixel format.
/// <remarks>
/// Most color formats when converted to vectors have a range of <value>0</value> to <value>1</value>. Some however, <see cref="NormalizedByte4"/>, for example scale between
/// <value>-1</value> to <value>1</value>. This requires additional computation to convert between the formats.
/// For example, if I wanted to convert from <see cref="Color"/> to <see cref="NormalizedByte4"/> the following function would be required. <example>v => (2F * v) - Vector4.One</example>
/// </remarks>
/// </summary>
/// <param name="scaleFunc">A function that allows for the correction of vector scaling between color formats.</param>
/// Returns a copy of the image frame in the given pixel format.
/// <remarks>
/// Most color formats when converted to vectors have a range of <value>0</value> to <value>1</value>. Some however, <see cref="NormalizedByte4"/>, for example scale between
/// <value>-1</value> to <value>1</value>. This requires additional computation to convert between the formats.
/// For example, if I wanted to convert from <see cref="Color"/> to <see cref="NormalizedByte4"/> the following function would be required. <example>v => (2F * v) - Vector4.One</example>
/// </remarks>
/// </summary>
/// <param name="scaleFunc">A function that allows for the correction of vector scaling between color formats.</param>