xpo-devexpress-dot-xpo-dot-metadata.md
A Value Converter which can be used to convert Image objects to an array of bytes.
Namespace : DevExpress.Xpo.Metadata
Assembly : DevExpress.Xpo.v25.2.dll
NuGet Package : DevExpress.Xpo
public class ImageValueConverter :
ValueConverter
Public Class ImageValueConverter
Inherits ValueConverter
The following example shows how to convert the value of the Image property to an array of bytes when saving it in a data store.
using DevExpress.Xpo;
public class SampleImageClass : XPObject {
private System.Drawing.Image image;
public SampleImageClass(Session session) : base(session) {}
[ValueConverter(typeof(DevExpress.Xpo.Metadata.ImageValueConverter))]
public System.Drawing.Image Image {
get { return image; }
set {
SetPropertyValue(nameof(Image) , ref image, value);
}
}
}
Imports DevExpress.Xpo
Public Class SampleImageClass
Inherits XPObject
Private image_Renamed As System.Drawing.Image
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
<ValueConverter(GetType(DevExpress.Xpo.Metadata.ImageValueConverter))> _
Public Property Image() As System.Drawing.Image
Get
Return image_Renamed
End Get
Set(ByVal value As System.Drawing.Image)
SetPropertyValue(NameOf(Image), image_Renamed, value)
End Set
End Property
End Class
ImageValueConverter requires System.Drawing.Common 5.0+. In Xamarin/Mono projects, change your image property type from System.Drawing.Image to byte[].
using DevExpress.Xpo;
[Delayed]
public byte[] Image {
get { return GetDelayedPropertyValue(nameof(Image)); }
set { SetDelayedPropertyValue<byte[]>(nameof(Image), value); }
}
Imports DevExpress.Xpo
<Delayed>
Public Property Image() As Byte()
Get
Return GetDelayedPropertyValue(NameOf(Image))
End Get
Set(ByVal value As Byte())
SetDelayedPropertyValue(Of Byte())(NameOf(Image), value)
End Set
End Property
Note
To run your application on Linux and macOS, install libgdiplus.
Ubuntu: sudo apt-get update -y && sudo apt-get install -y libgdiplus.
macOS: brew install mono-libgdiplus.
Object ValueConverter ImageValueConverter
See Also
How do I declare an image property in the ORM Data Model Designer