RealWorld Designer

Discover what’s the RealWorld all about.

Archive for October, 2007

Drawing tool presets

Tuesday, October 30th, 2007

The ability to customize a tool does not seem like something worth more than a short notice, but after using it for a while, you would not want to live without it anymore. Photoshop has a similar feature, but RealWorld Designer takes it to the next level.

The preset content

All future RealWorld applications starting will RW Photos will offer custom presets. The preset can contain any combination of the following:

  • Draw tool ID.
  • Draw tool configuration.
  • Fill style ID.
  • Fill style configuration.
  • Blending, rasterization, fill style, and coordinate modes.
  • Outline width.
  • Primary and secondary color.

Defining new draw tool preset.

The screenshot shows how new presets are defined. Users can choose which modes and settings will be affected when the preset is activated. They can also customize how the preset appears on the GUI - its name, description, icon, and keyboard shortcut.

Presets can be later modified, deleted, duplicated, imported or exported to a file and shared with other users.

Use cases

There are two main scenarios for custom edit tool presets:

Power users can totally customize the editor and speed up their work. Instead for clicking 10-times, they click just once. Due to the nature of the presets, they may define many custom actions covering among others custom fill style gradients or text properties.

On the other side, custom presets can be used to make the editor simpler and limit its functionality. You can for example remove all the distracting color pickers, tool properties, EXIF properties viewer, and unnecessary menu entries and replace them with a couple of simple presets. Even your new hot secretary, who does not know anything about pixels, will be able to remember what button to press when she wants to watermark a photo, crop it, or do whatever you want her to do.

The new ability to customize the drawing tools fits nicely with the old ability to define custom layouts. This way you may create different presets for different scenarios.

Thumbnails reloaded

Friday, October 26th, 2007

There used to be an extension for RealWorld Icon Editor 2006.1 that allowed thumbnails in open file dialogs and in Windows Explorer for U3D and R3I files. It was nifty but incompatible with later versions (because it required a lot of entries in registry and that was especially hard to do under Vista). Today, the thumbnail extractor is back in it has all the bells and whistles that you would expect from a RW tool…

Features

It extracts thumbnails ;-). From Windows and Mac icons, static and animated cursors, a couple of less common image formats (like jpeg2000, psd or gif), Unicorn3D files, Rendered Images and .3DS files.

Thumbnails for icons, cusrsors and 3D models

The thumbnail extraction is configured using a Control Panel applet called “RealWorld Thumbnails”, which you can find right next to the display settings (if you are using categorized view in your Control Panel). You can choose the file types actually handled by the extractor.

It is necessary to open and configure the extractor after installation (it is automatically displayed at the end of the installation), because it is turned off by default.

Icons contain images in multiple sizes and the extractor respects that, the generated thumbnail contains all the different sizes in an .ico file to give you better overview of the icon.

Compatiblity

Like all the later RealWorld applications, RW Thumbnails tries to minimize the entries in system registry, mainly by using isolated COM, which is only supported on Windows XP and later. Hence, the extractor will only work on XP, Vista, and similar systems (server 2003).

Using shell extensions might be risky business, because the 3rd party code may introduce instability to Windows Explorer. To minimize this risk, all the potentially buggy code was moved out of the shell extension and is executed in a separate process. Only one small dynamic library is loaded by Windows Explorer and all the hard work is done elsewhere. As a consequence, using RW Thumbnails is safe and will not make your Windows unstable.

Windows Vista caches the thumbnails much more aggressively than XP (and it also uses them in many more places). Vista will not generate the thumbnails for files if it already thinks is has the thumbnails. After installation and configuration you may notice that the thumbnails are not created for old files, but they appear if you create copy of the old file (though only for the copy). XP had the “Refresh Thumbnail” command in context menu to resolve these cases, but Vista lacks it. You can use the Disk Cleanup tool in Start Menu\Programs\Accessories\System Tools to remove the cached images.

License & download

RW Thumbnails is freeware and can be downloaded from its homepage:
http://www.rw-designer.com/thumbnails.php.

RealWorld Cursor Editor 2007.1 released

Sunday, October 14th, 2007

The title says it all. Version 2007.1 of RW Cursor Editor is ready for download. It features numerous bug fixes, improvements and a couple of entirely new and unique functions.

New features

There are many. The biggest change is a redesigned raster image editor with configurable fill styles, sub-pixel accuracy and mouse gesture support.

Editing animated cursor

A couple of image filters and effects were improved or added and the filters are now by default accessible directly from the cursor (static and animated) editors.

The new version is able to import cursor from the Linux XCursor format giving its users access to hundreds of high quality and freely accessible cursors.

The Image to Cursor conversion operation was enhanced as well. It can create animated cursors from image strips thus allowing you to easily convert CursorXP cursors to normal .ani files.

Since Windows only natively support cursors of size 32×32 pixels and Linux and CursorXP ones are often larger, the Change Format operation was improved to allow you to keep the cursor quality as high as possible when adjusting the format. It is able to clip or smoothly rescale all frames in an animated cursor.

3D module

User can optionally install a tools for 3D cursor authoring. These tools are allow designing a 3D model, adding parameters and then define values of parameters used for each frame. The 3D module is very similar to the one used in RealWorld Icon Editor and many tutorials are also applicable to cursor designing.

Create a 3D parametric module to be used for cursor creation

Licensing

The application (except the 3D module) is free for both commercial and non-commercial usage.

The license for the 3D module can be bought for 29 USD.

Mouse gestures in image editor

Sunday, October 14th, 2007

Buttons are ugly. Even buttons with nice images on them can become ugly. Especially if they are small and you have to click them every few seconds. Future versions of RW tools will utilize mouse gestures to fight this problem. And once you get used to them, there is no going back.

What is a mouse gesture

The concept of mouse gesture is nothing new. They have been used in various applications for a long time. You can find them for example in the Opera browser and (using a plug-in) in Firefox. The ability to navigate back by a simple gesture is a miracle.

Lets compare a toolbar button activation with a mouse gesture.

Button click:

  1. Find your mouse on the display.
  2. Find the toolbar button on the display (move your eyes).
  3. Move mouse over the toolbar button.
  4. Click the left mouse button.

Mouse gesture:

  1. Check that the mouse is over the (very large) image editor window.
  2. Perform the gesture.

This comparison reveals an important fact - you do not need your eyes while mouse-gesturing. You can remain focused on the picture and still perform operations and apply filters.

Mouse gestures can be also compared to keyboard shortcuts. While keyboard shortcuts are more flexible (there is a lot of keys and combinations), mouse gestures are easier, because there no need to move your hand to keyboard and they are also easier to remember.

Mouse gestures in RW tools

Mouse gestures were implemented primarily for the upcoming RW Photos application, but they will make their first appearance sooner in RW Cursor Editor 2007.1, which will contain a partially updated raster editing control.

There will be 26 mouse gestures and users will be able to assign their own actions to each gesture using a simple configuration dialog:

Assigning operations to mouse gestures.

The image above shows that the Up-Right gesture is configured to rotate the image right by 90 degrees. No more guessing whether that portrait photo should be rotate right or left. The mouse gesture is not just simpler, it also happens to be intuitive in this case.

A cople of gestures will be preconfigured. A simple stroke to the left undoes the last action, stroke to the right re-does it. And Down-Right gesture applies the changes made by an editing tool (for example polyline). Right-Left gesture swaps primary and secondary colors…

For easier gesturing the mouse leaves a red trail behind when right mouse button is pressed.

Scripting unleashed

Wednesday, October 3rd, 2007

It is boring to do the same thing over and over again. Or isn’t it? … Anyway, in case of photo editing, repetition gets boring pretty quick and many editors solve this problem with a scripting subsystem. And so will RealWorld Photos.

Using JavaScript

Scripting in previous (and upcoming) RW applications is based on the JavaScript language. It is easy to learn and many people are already familiar with it and able to understand the syntax. After reading the documentation on a couple of application specific objects and their methods, anyone should be able to create or modify a scripted filter.

The old news

Scripted operations are nothing new in RW apps. Current versions are capable of accessing the opened image pixel by pixel. It is also possible to define and display a configuration dialog to let the user pick a couple of parameters at runtime.

The enhancements

While accessing images pixel by pixel may be OK when working with small images, it is very slow when used on multi-megapixel photos. JScript is interpreted and no scripting language is in fact suitable for this kind of tasks.

RealWorld Photos will be the first of RW tools to deliver three important updates:

  1. Ability to run a filter from script. This may look as a triviality, but it is actually pretty powerful feature, because filter parameters can be computed by the script at runtime and based on properties of the image.
  2. Ability to use drawing tools from script. Drawing tool that support (a simple) scripting interface, can be called from the script. Again, parameters for the drawing tools can be specified from the script.
  3. Access to image metadata.

Because scripted filters do not need to access the data pixel by pixel anymore, they can actually be pretty fast.

Example

Lena with post stamp border

The post stamp border decoration was added by a script using a drop shadow filter, blend with background filter and Ellipse tool.

Here is the script (a few things may be simplified in the final version):

var sizeX = RasterImage.sizeX;
var sizeY = RasterImage.sizeY;
var border = Math.round(Math.sqrt(sizeX*sizeY)*0.06);
var radius = border*0.7;
var stepsX = Math.round((sizeX+border+border)/(border+border)-0.5);
var stepsY = Math.round((sizeY+border+border)/(border+border)-0.5);
var deltaX = (sizeX+border+border)/stepsX;
var deltaY = (sizeY+border+border)/stepsY;
// expand the canvas
RasterImage.FillResize(sizeX+border*2, sizeY+border*2, 1, 1, border, border, 0, 0, 0xffffffff);
// draw the half-circles around the edge
DrawTool.EditTool = "ELLIPSE";
DrawTool.SetColor1(0, 0, 0, 0);
DrawTool.BlendMode = DrawTool.BMReplace;
for (var i = 0; i < stepsX; ++i)
{
DrawTool.Run(RasterImage, (i*deltaX)+",0,"+radius, "");
DrawTool.Run(RasterImage, (sizeX+border+border-i*deltaX)+","+(sizeY+border+border)+","+radius, "");
}
for (var i = 1; i <= stepsY; ++i)
{
DrawTool.Run(RasterImage, "0,"+(i*deltaY)+","+radius, "");
DrawTool.Run(RasterImage, (sizeX+border+border)+","+(sizeY+border+border-i*deltaY)+","+radius, "");
}
// add shadow
Operation.OperationID = "179FED75-A48F-4708-AF14-56BFB2A2ADBC";
Operation.SetParameter("OffsetX", 0);
Operation.SetParameter("OffsetY", 0);
Operation.SetParameter("Size", border/4);
Operation.SetParameter("Resize", true);
Operation.Run(RasterImage);
// blend with background
Operation.OperationID = "BCD0FD69-A4BD-46B0-A7DA-8B48F18E8820";
Operation.SetParameter("Background", 0xfcfcfe);
Operation.Run(RasterImage);

And yes, scripted filers may be used in conjunction with batch processing

Batch processing in RealWolrd Photos

Monday, October 1st, 2007

RealWorld Photos would not be a real photo editor without some kind of batch processing capabilities. Let’s have a look on what to expect.

The use scenario

Just like in RW Icon Editor 2006.2, RW Photos will rely heavily on the drag and drop concept.

  1. Users navigate to the files to batch process in their favorite file manager and then drag and drop the files (or entire folders) on the application window.
  2. The files are processed using selected operation.
  3. Successfully processed files will be saved to a dedicated subfolder in the temp folder. Contents of this folder are conveniently displayed in the application window. Users can move (drag and drop again) the processed files from there to wherever they wish.

Batch image processing in RW Photos

The upper part of the window displays short how-to-use instructions, the list of preconfigured operations and a window with log messages. The lower part contains the processed images. In Windows Vista, Explorer can display previews even in “Icons” mode. In Windows XP, you’ll have to switch to Thumbnails mode manually to see the previews.

Configuration

Users can define any number of operations. Each operation can consist of any number of steps. Each step is either one of the built-in image filters or a custom code in JavaScript. 3rd party plug-ins designed for RW Photos can be used in batch mode as well.

Configured batch operations can be exported and imported.

The list of pre-configured operations is yet to be defined. Post your favorite operations in the comments section.