ImageBooth Recap: Multilayered ImageEditor in pure Javascript

As I’ve been finishing features, I’ve just been updating what the new stuff is… but now that I have a working implementation of layers (though save isn’t yet linked to layers), I figure it’s time to stop and give an overall view of the ImageBooth Demo app and what it does.

ImageBooth Updates: 07/30/10

Lots of changes: all line stroking is now done with a queue, which means if a line’s thread gets cancelled pre-draw, it will get picked up by the next thread and so on. This results in much smoother drawing and less ‘stepping’ on round edges. Also, tools may now provide controls in the ‘tool palette’ window, and the first one to do so is the new paintbucket tool which supports a threshold amount as well as an opacity setting. There is also now a Brightness/Contrast operation and the preview/options dialog was migrated from the filters system.

ImageBooth Updates: 07/26/10

So after an arduous weekend of coding, I come from high on the mount bearing tablets with the following features: You may now export the saved image (AKA download), also there’ve been numerous corrections to the convolver, as well as adding a filter settings dialog with a built-in preview. I added an eyedropper to help with colorpicking, and I made an overhaul to the Gaussian Blur filter which now allows it to generate a kernel of any size. All in all not a bad haul for a single weekend.

SplatterPlot 1.1 Adding Images into the Mix

So I was asked a few times if the splatter plot could support images, and I’d explain how you could extend the node class to do that, but my guess is people would find it useful if it did that out of the box. SVG’s Image rendering uses really poor pixel resampling algorithms, so scaled imaged don’t look as good. In fact I found SVG scaling seems to break down as the draw buffer becomes much larger than your view pane, so it’s a hugely terrible idea to just zoom/scale to infinity in a complex SVG without hand occluding elements offscreen. So now that I’ve fully chastised you for your vector sins, onto the example:

ImageBooth Beta: HTML5 + JS Image Editor

I’ve done raster graphics editors in a number of environments and after the ImageBooth JS experiments went so well, I decided to do a little cleanup in Datalus to create a simple backend to turn the demo into something useful.

ImageBooth Demo 2: HTML5 + JS Image Editor

After another week working on the ImageBooth JS port, I’ve had a number of successes so almost all the core interfaces are available, and there is now a brushing system which doesn’t exist on the PHP version. Go ahead and check out the demo(works under webkit, slightly janky under FF, not working under IE).

Converting XeLaTeX to Wiki formatting with PHP

So, the need came up for me to dump data from my XeLaTeX environment into a Wiki, but I want to continue to master the the document in TeXShop, but the wiki needs to stay up to date, so the only thing for it is to create an exporter. So that’s exactly what I did. There are two distinguishing features in comparison to other solutions is I provide solutions for both my custom imgfig macro and includegraphics, using a base directory (though you have to get the graphics there yourself). The second is I support includes, which I use in my documents frequently. It’s currently pretty light on various syntax and doesn’t yet support math or recursive includes, but I’ll add that soon. I also want to support pushing the data into the wiki itself in subsequent versions. But for now the format is:
php latex2wiki.php [tex file] [graphics directory url]
Go grab it here.

Multilayered Image Convolution with MooTools + HTML5 Canvas

So, as a not-so-secret side project I’m porting pieces of the Protolus/Datalus foundation to Javascript for great awesomeness, looking to the day when client side view rendering ascends to it’s rightful throne. Until then, it means I’m doing all kinds of awesome experimentation while porting these components. I’m currently working on a port of ImageBooth to Javascript, which I will then wrapper in a much more useful demo app. But I just wanted to share the reality of doing convolutions live, in-browser. No time for any detailed code, but if you’re feeling wiley, it’s quite readable.

ImageBooth: Multilayered Image Manipulation in PHP

I’m going to be releasing documentation on my development framework, Datalus, in the near future… but before that, I’ll be releasing a few examples using the utility libraries from it.

HTML SVN changelog output

So, yesterday I sent a note about my blog to Martin Pittenauer, developer of SubEthaEdit. OK, yeah… but that’s not the strange part. So later on, I was looking for a tool to convert SVN logs to pretty printed html. After a few minutes of looking, guess who built an XSL script to do that very transformation. It was a few years old, and SVN’s XML format has apparently moved on, but a few tweaks got it back into shape. I offer this here as an updated version of his original.