Here is a new version : Animatoon 0.156Downloadhttp://blendman.free.fr/dev/pb/animatoo ... 56_win.zipScreenshotsNews
- the layers are active : you can create a layer and draw on it, make it visible or not, you can lock a layer (right click), change its opacity (you can not change its position for the moment, but I'm working on that
- New tools: gums (circular and "shaped" brush) (menu > tools/eraser)
- shortcut : key "E" (circular brush), paint brush is key "B"
- Edit menu: Ctrl + X deletes now the active layer
- Export: you can export the full image (visible layers) in png (with transparency) and jpg, and then export only the active layer in png (transparent)
- Import: now, when importing an image (a png for example), this image is loaded on the active layer
- The "pipette" (color select) was not working, It's ok now : ctrl+left click on the canvas to take the color
- Canvas: I added a border, depending on the size of the document to center the canvas
- panel >Tab "gen" (general) : most checkbox works now. The checkbox disables the mix (blend of painting) (but I have to correct it to reverse that:))
- when we exit the soft, I save now (in the preference file : options.ini) : width / height of the brush, if the checkbox is checked mix and other things
- Bug fixes and some optimization
For now, it's not optimized at all, so beyond a 1500 * 1500 pixels document and with more than 3 or 4 layers, it "lag" a lot.Note and Todolist
- preset brushes and bank of preset brushes : watercolor, charcoals, crayon, ink, markers...
- brush with line between the "points"
And in general UI :
- a better select color
- zooming, pan
- saving /opening the document with the layers : For now, to change the size of the document, you must change the file options.ini (doc_W and doc_H), it's temporary, I'll change that soon.
- The blendmode will not be long to come (multiply and add for now is ok, but I have a problem with overlay*: When I delete the alpha channel of a layer, the color of the layer isn't eraser or is in black (it's logical). I have to find how to make the layer transparent really, because the overlay mode is based on gray levels. So I have to create an overlay technic that "takes into account" the alpha > 0, not only the color.
- move the layer positionOptimization
1. Changing brushes
For the effects of the brushes for dynamic, I do an update to each loop, and I re-create several times the brush (point(), alpha() and plot() is great but not "quick", if we use it a lot at each loop
Since there is an incompatibility between the openscreen() or openwindowedscreen() and graphics tablets, I can not use the screen and sprites3D
What a pity, because drawing on the screen with 3D sprites will be really quick !
But against, I thought I could do the operations (dynamic changing of the brushes (size, rotation) on a screen located in -WindowHeight(0) and then copy the sprite image created to my brush.
I think gaining a little speed, I will do tests to see if it works.
2. Layers, image and canvas.
I would like to optimize it all, especially the display of the layers, but I don't know how exactly.
I have some ideas in mind, and I hope to successfully implement them
For now, here's how I do it:
- First I draw a picture (my current layer)
- Then I update the canvas by drawing all the layers above the current layer + changed with this code:
StartDrawing (CanvasOutput (# canvas))
DrawingMode (# PB_2DDrawing_Default)
Box (0.0, doc_w, doc_h, RGBA (255,255,255,255))
If backgroundCanvas = 1 if has background in the background, for example, a checkker to paint or paper)
DrawImage (ImageID (# canvasBG), 0.0)
And then I draw each layer
DrawingMode (# PB_2DDrawing_AlphaBlend)
Layers ForEach (); the list of my layers
If layers () \ = 1 and visible layers () \ opacity> 0
DrawAlphaImage (ImageID (layers () \ id), 0.0, layers () \ opacity)
As I make an update on each loop, necessarily, that a train with 2000 * 2000 image with 5 layers: (.
It'll be faster to draw directly on the canvas but the canvas TPAS're "multi-layer" or transparent).
If I did not blendmode, it would be easier to optimize :
- I will create three image s: top, current layer and bottom. Top : an image is created for all layers located above the current layer, and ditto for below.
- I will do only the "update" of the current layer when I draw on this layer. Then I will make a final update to the canvas with these three images (instead of all my layers.) It's like if I had never more than three layers for my document.
- The two other "layers" would be recalculated when I change a parameter of the other layer (on the panel tab layer) or I will change the current layer for example.
- But I can "merge" (on an image) the layers above and below the current layer with a "normal" mode, not with another blendmode, because the effects of blendmode of each layer are calculated in real time on all layers. So this idea doesn't work anymore with blendmode.
So, I think putting an option to update the other layers as current, to an update based on a loop connected to a timer (the options:)).
But I would like to especially provide work only on the pixels on the screen for the layer of these effects blendmmode.
If you have ideas for the optimization of this sort of software, you're welcome