News archive
JPEG Saver 4.13
In keeping with the last update to JPEG Saver, this new version adds some things from the to-do list that are so old that I think most people would have given up hope of them ever happening. I'm referring to the new “Mirror X” and “Mirror Y” options that are available from the Background tab.
These options work with the tiled image modes and the image copy mode, and flip alternate copies of the background image either horizontally or vertically. It can produce quite a nice effect, and made me wonder why I hadn't got around to it earlier.
The major reason why it has taken me so long to do this is that up until now the background images were always tiled from the top-left corner of the screen. This isn't a big problem for background images loaded separately, but for the image copy mode the mirrored images just looked wrong. This version fixes that, with the background images positioned so that the centre of the first tile coincides with the centre of the foreground image.
TagCanvas 2.5
TagCanvas 2.5 adds a couple of options that I have been asked for recently.
The simplest is a new outlineMethod
, “size”,
demonstrated in the example below. It looks a bit odd to me, but hey-ho.
There's an extra option called outlineIncrease
to specify by how
much the tags increase in size when selected. Use a negative amount if you want
the tags to get smaller, though I think that looks even weirder.
The other new options are also used by the example cloud, and add support for
displaying multiple weights on a single cloud. To use multiple weights you must
use the weightFrom
option, specifying the different attributes as
a comma or space separated list. The example uses three weights and a
weightFrom
of “data-w1 data-w2 data-w3”.
TagCanvas 2.4
People have been asking me for more options for styling the tags for quite a long time, so TagCanvas 2.4 is my attempt to do just that. The example below demonstrates most of the new options that I have added.
As you can probably tell from the example, the new options allow drawing a
box with rounded corners around the tags. The bgColour
option sets
the fill colour of the box, which you can also set to the string
“tag” to use the background colour from the original
<a>
link element that the tag comes from.
The border around the tag is set using the bgOutlineThickness
and bgOutline
options. The default thickness is 0, so there is no
outline drawn. The bgOutline
option sets the colour of the outline,
which defaults to using the same colour as the text. Setting the option to the
string “tag” makes TagCanvas draw the outline using the text colour
of the original link. This is why the text in the example above is all red, but
the borders are in different colours, mostly a purple-blue since that is the
default link colour.
SVGGraph 2.15.1
This new version of SVGGraph is mainly a bugfix release, though I have included a first look at a new feature that I have been thinking about for a while.
First, the bug that is fixed in this version is one that could cause the text on the X axis to be incorrect when using associative data. It took me three attempts to fix it properly, with the first and second attempts causing other things to subtly stop working. The bug manifested itself as either gaps on the axis where there was no text, or text labels in the wrong order.
The new stuff in this version is all about cross-hairs, as demonstrated in the example above. There are a load of options for displaying cross-hairs on the grid-based graphs, with optional coordinates. At the moment they are not supported by the 3D graphs or the radar graphs but the flat bar, line and scatter graphs do support them.
TagCanvas 2.3
It has been a long time since I last released a new version of TagCanvas. That must mean that there are a shedload of updates and improvements in this version, right? Well, no. There are two new functions, an extra option added to some old functions and a simple bug fixed.
The new functions are SetSpeed
and Delete
.
SetSpeed
actually sets the speed and direction of the cloud
movement using the same array of [x, y]
values used for the
initial
option. The example cloud above has some buttons and a
slider underneath that demonstrate what it can do. (Unless you are using
Internet Explorer, where the range input will just be an ugly, useless bar.
The TagCanvas SetSpeed
function works fine in IE; the
<input type=range>
slider and input events do not.)
The Delete
function is really only useful when dynamically adding
TagCanvas clouds to a page and removing them again. It cleans up the instance
of the TagCanvas class that refers to the canvas element, allowing its ID to be
reused for another cloud. It doesn't remove the canvas element itself though,
so you will have to do that yourself.