Its been a busy week mostly spent on updating the build server code so its iOS 7 ready, during that time we also managed to get some other things done… These are some of the highlights:
You may recall the
ImageViewer class that I mentioned a while back
, it will now be a part of the designer and has some small improvements to its event handling as well as keyboard handling.
We now have a new set of image rotation API’s designed for camera images. These API’s can rotate or flip an image by square angles, which is important for rotating an image that isn’t a perfect square (e.g. taken by camera). These API’s are really simple to use e.g.: image.rotate90Degrees(true);
Where the boolean argument indicates whether the image is opaque (e.g. for the case of a camera image). There are also methods for 180 and 270 degrees as well as vertical and horizontal flip methods.
Up until recently we always told people to avoid the scaled method as much as possible, the main issue was that an image gets decoded and then is very expensive to hold in RAM. This is not necessarily the case anymore. Now if you invoke the scaled() method on an EncodedImage (assuming you are not on a feature phone) the ImageIO class will be used to re-encode the resulting image and allow you the same benefits as any other encoded image.
We still don’t recommend scaled since its still less efficient than drawing and not as sharp as multi image. It will now also be slightly slower but it will have a better memory footprint.
We also added a feature that allows you to create an encoded image from ARGB data, again using the ImageIO class, this isn’t guaranteed to work (since ImageIO doesn’t necessarily exist in all devices) but when it does it should be more efficient for most use cases.
Notice: This post was automatically converted using a script from an older blogging system. Some elements might not have come out as intended…. If that is the case please let us know via the comments section below.
4 Comments
ImageViewer is deleted in new version have any class for instead for it ?
No its not, its under components.
Tell me your scaled() works for j2me.
Sure, but it doesn’t feature this optimization.