Imaging Support
The MercuryXMS MMS SDK provides a comprehensive
set of image processing functions to allow you to quickly
and easily format images and for delivery to mobile phones.
[Visual
Basic]
Dim objMessage As MMSSimpleMessage
Dim objImage As MMSImageMediaElementSet objImage = objMessage.MediaElements.AddImage("c:\image.bmp")
objImage.TargetFormat = img_JPG
objImage.OverlayImage "http://www.site.com/logo.jpg"
[C#]
MMSSimpleMessage msg = new MMSSimpleMessage();
MMSImageMediaElement image;
image = msg.MediaElements.AddImage("c:\image.bmp");
image.TargetFormat = img_JPG;
image.OverlayImage("/logo.jpg");
Images can be cropped manually or automatically
to optimize their delivery to a mobile phone. A number of different
resizing algorithms are available to provide smooth resizing.
Cropping, flipping, rotating and border functions are also
available, as well as brightness and contrast adjustment.
When resizing images, you can use the device management
classes to automatically resize an image for a specific
device.
Images
can be overlaid onto other images to provide real time visual
watermarking of images as they are composed into an MMS message
and delivered to a mobile phone. Image overlays can be manually specified
or automatically positioned with a number of smart-positioning
alternatives (bottom right, top left, etc). Overlay image transparency
can also be specified.
Smooth text can be drawn onto images
as they are added to an MMS message. The text can be placed
at any X/Y position. Any Windows font and font size can be
specified, together with formatting such as bold, italic
and underline. Text color can also be specified.
Image formats supported include JPG, TIFF, WBMP,
PNG, PCX, TGA, WMF and EMF. (GIF and Animated GIF is also supported,
subject to LZW licensing.) Images can be converted to and delivered in these
formats as well. You can either manually specify the target
format or use the MercuryXMS MMS
SDK device management functions to
determine the ideal format automatically based on the target
handset's capabilities.
The MercuryXMS MMS
SDK comes with a complete
animated GIF engine . You can create animated GIFs on the fly
or you can extract image frame sets from existing animated
GIFs. Images can be loaded from a folder, with animated GIF
properties - configurable through code - such as frame loop time,
repeat, etc. These animated GIFs can be immediately attached
and delivered inside an MMS message.
Images can be loaded from disk or loaded
from the web with a HTTP accessible URL. Using the Device Manager
classes, images can be automatically sized for the target
handset based on handset make/model. Consider the following
C# example:
[C#]
MMSSimpleMessage message = new MMSSimpleMessage();
MMSImageMediaElement image;
MMSDeviceManager device = new MMSDeviceManager();
image = objMessage.MediaElements.AddImage("//server/image.jpg");
device.FormatImage(image, "Nokia", "3650");
User Agent Profile headers can also be
used to dynamically transcode content:
[C#]
image = objMessage.MediaElements.AddImage("//server/image.jpg");
device.FormatImageByUAPHeader(image, "Nokia3650/1.0
SymbianOS/6.1 Series60/0.9
Profile/MIDP-1.0
Configuration/CLDC-1.0
UP.Link/5.1.1.5a");
image = objMessage.MediaElements.AddImage("//server/image.jpg");
device.FormatImageByUAPHeader(image,
"http://nds.nokia.com/uaprof/N3650r100.xml");
You can also dynamically create images
from scratch, specifying any target format. Start with a blank
canvas, specify a background colour, overlay images, draw
smooth text - all in real time. The MercuryXMS MMS
SDK also supports forward
locking of images with support for Nokia and OMA forward lock,
and SonyEricsson content protection.