EarthEdit 9.0 - Recoded From Scratch
Miscellaneous Forums/Blitz Showcase/EarthEdit 9.0 - Recoded From Scratch
This is completely new code, and way better, please try and comment.
EarthEdit is an Image editing program, origonally created in BlitzBasic, but now developed in Blitz+, with completely new code. It has a wide rang of tools and options, and is a good replacement for somthing like windows Paint. (Not quite photoshop yet though )
It comes with a full documentory (Go to the Help Menu -> Help) and is currently a BETA 9.0 release.
NOTE: Now updated and renamed Pixel Artist! : www.lattyware.com/PixelArtist.zip
getting a corrupt archive.
Ack! Sorry, re-uploaded and now works, please try again.
Please comment on things you like, don't like, and things you want to see.
~i like the zoom sector
~(The fill thingie doesnt look like a fill to me)
~you could make the horizontal line effect have an option to either affect the whole screen, or be used over an area
~u could also offer a dither effect, that works the same way, but with a varied pattern of dithered pixels
~u could even allow a gradient to be patterned through this
~like the text idea: gives alot more precision on where the text goes unlike paint.
~i'd (personally) prefer using the right button to affect things with the front and back colours temporarily reversed, rather than alternate actions.
~Loads of shortcut keys that make sense are always really good, providing their learnable
~Illegal Parameter for Createimage when i used the right click gradient selection tool
~Layers arent nessecary to me, instead :: having as many undo options as possible (more ideally an optional Undo buffer size) would be nice. i wonder wether youd be better saving a temporary Undo file relative to the program and reading back from that, or just Banking the images colours,w and h....
~if u can find the methods, saving in png, jpg etc, as well as your own filetypes...
~optional zoom sizes (difficult in Blitz)
~as many crazy options for every individual tool (ie a tool option window that gives options per tool) that you can possibly think of...
~alpha pasting: pasting something with alpha, although it'll appear Opaque as you move it about.
~options to shift the hue of the entire image or set square areas/circle areas currently selected.
also Saturation and ive seen this one thing before thats quite nice:
three boxes for R G and B, and the change made to the colours(within the selected area) is depicted by what the user types into the box, eg: [r+x][g][b] would mean that the red value of every pixel increases from the left to right etc.
~a circle cut out command, like to the square in paint, but cutting out the circular area.
~some pixel by pixel action: u cant beat it
Wow, thanks for the list.
Undo is a tough thing to do, and I am trying to make one, unfortunatally at the moment, all my attempts have slowed it down so much the progam becomes unusable.
If you re-download, I've added a selection gradient tool.
Thanks for the comments, I'll try and do as much as I can.
~i like the zoom sector
Thanks :)
~(The fill thingie doesnt look like a fill to me)
Lol, Yes, I will change this at some point, but not quite yet.
~you could make the horizontal line effect have an option to either affect the whole screen, or be used over an area
I just relalised you ment the Scanline tool, this was experimental, and may be removed, but I may be able to add other types of it.
~u could also offer a dither effect, that works the same way, but with a varied pattern of dithered pixels
An interesting idea, I'll think aout it
~u could even allow a gradient to be patterned through this
Hmm...
~like the text idea: gives alot more precision on where the text goes unlike paint.
Yes, that was the idea. I plan to add sizes and fonts soon, so watch this space!
~i'd (personally) prefer using the right button to affect things with the front and back colours temporarily reversed, rather than alternate actions.
This is changed in the most recent version.
~Loads of shortcut keys that make sense are always really good, providing their learnable
Added.
~Illegal Parameter for Createimage when i used the right click gradient selection tool
Yup, this is changed.
~Layers arent nessecary to me, instead :: having as many undo options as possible (more ideally an optional Undo buffer size) would be nice. i wonder wether youd be better saving a temporary Undo file relative to the program and reading back from that, or just Banking the images colours,w and h....
The undo is tough (see note in above post)
~if u can find the methods, saving in png, jpg etc, as well as your own filetypes...
If you use the dropdown list in the save there is a full selection of filetypes.
~optional zoom sizes (difficult in Blitz)
I will add this when I work out how to do it :P
~as many crazy options for every individual tool (ie a tool option window that gives options per tool) that you can possibly think of...
Don't quite understand this one.
~alpha pasting: pasting something with alpha, although it'll appear Opaque as you move it about.
I have no idea how to do this I'm afraid.
~options to shift the hue of the entire image or set square areas/circle areas currently selected.
also Saturation and ive seen this one thing before thats quite nice:
three boxes for R G and B, and the change made to the colours(within the selected area) is depicted by what the user types into the box, eg: [r+x][g][b] would mean that the red value of every pixel increases from the left to right etc.
I tried this idea, but it took 20 minuits to re-create with differesnces, I'll try to work out how to do this a fast way.
~a circle cut out command, like to the square in paint, but cutting out the circular area.
I have added a filled shapes option.
~some pixel by pixel action: u cant beat it
No idea what your on about :S
Thanks for the great responce!
~u could also make it that the currently selected tool is highlighted as though its pushed down.
~The copy-paste area tool is to my liking*
~as a test i input negative 'resize' values, and it allowed it, causing it to crash after a second: same happens with over sized values eg: 60 000
~your Open Requester causes the program to end when you click cancel: put in a condition for false returns
~idea: shift pixels:eg: pressing shift+left shifts all pixels left. If loopshifts is ticked (in a tool menu) then their repeated apon the other side.
+i Like the Scanline tool(could even have an angle option), although if new tools are to take its place in the toolbox area, you could leave it in within a tools menu
+Your save option still only saves bmps:
eg: a jpgs header file:
BM~ž 6 ( ^ ^ ÿÿÿÿÿÿ
is depicting a Bmp, with the Mem of a bmp.
Blitz saveimage and Savebuffer commands save a bmp, no matter what extension u give, and so external effort or some interesting b+ code is needed to do otherwise.
I realised this once when i saved a png in Blitz, then tried to load it back in: because Blitz reads images relative to their extensions, as appose to Headers, it crashed every time.. Ms Paint could read it of course, reading the header, no matter what the image type.
+Yeah, Undo is tough and slow. what i'd do myself is make a function that i call at any point to update the undo option stored image: work on one undo being allowed at once, and then near the very end add in the full thing. hoping that the exp gained allows such action.....
+"~as many crazy options for every individual tool (ie a tool option window that gives options per tool) that you can possibly think of... "
I meant that each tool should have a set of options, maybe within a toll option mini-window that changes depending apon what tool's equipped eg:
spray: size-density-dotwidth
dot: sizePixel-size2Pixels
gradient: angle-detail etc
"~alpha pasting: pasting something with alpha, although it'll appear Opaque as you move it about."
Its pretty easy: just search the code archives for alpha routines, learn their reason and devise your own.
youd pretty much be locking the buffers, reading the pixel values into a bank, then storing the average of the two (thats the average of the red of each pixel, blue of ecah pixel and green of each pixel, not the average of the read int) in a new bank, then writing the contents of the bank to the canvas at the specified co-ordinates. if you wnat a little example i could type it out. Its not realtime effective in Blitz though, so it would take effect apon the instance of prasting.
+but it took 20 minuits to re-create with differesnces
How are you doing it? if done the same way as the alpha thing above, it should only take a ('only') second to change.
+contrast options and things like that: also antialising and oilimage things that can be found in the code archives : thess command should come with warning s though: antailising's totally not supported by the pc im typing in just now. and im guessing alot of others face the same problem.... obvoiusly such things are luxuries of such complexity that should'nt concern u till your near complete though...
"~some pixel by pixel action: u cant beat it
No idea what your on about :S "
erm. Just plotting a single pixel.
thanks again,
My way of doing it was by taking each pixel, working it out and then plotting.
Single pixel... Can't you just put brush size 1 with the square/circular brush tool?
The tool window is a good idea, and I'll think about that one.
And Ack about the save thing... That's really annoying, thanks for the info, I'll have to find another way.
And that crash is silly, I'll change it.
Unfortunatally making the button pushed down is not possible as the toolbar is a B+ gadget... I suppose I could manually program it, but it seems silly... Would you settle for a Current Tool: [tool] thing instead?
<Boast About New Software>
www.lattyware.com has now got PixelArtist, please tell me what you think.
www.lattyware.com
(direct link:
http://www.lattyware.com/PixelArtist.zip)</Boast About New Software>
bug: If you click on the magnified image, it will draw a block on the last place the mouse was whilst over the canvas (usually at the right edge).
Suggestions:
For freehand drawing, using a line function rather than plot would stop there being gaps in the lines (if you move the mouse too fast, it doesn't show the transitionary positions).
Simply poll the mouse every so often and do a line from previous position to current one whilst the mouse is down.
It would be nice to see the size of the drawing cursor rather than a mouse pointer.
Yeah, that last place thing has been bugging me... I really cannot work out how to fix it, I've tried all sorts, up to disabling the canvas when the user goes off it - but I can't work it out.
Good idea about the line thing, I will do that, thanks for the suggestion...
The cursor thing I have thought about, but it wasn't on my major list, I'll get it done ASAP.
Unfortunatally making the button pushed down is not possible as the toolbar is a B+ gadget
I've only skimmed this thread so may be missing the point - but I've done this with a blitz+ toolbar. You mean you want to keep the button pressed (to show it's selected)? A couple of userlibs and this is more than possible. I'll hunt out the code if you're interested.
I'd really like a screenshot or two. The reason I have ignored this so far is the fact I don't know what's going on. From what people have said it sounds pretty good though.
Also the name doesn't make me think of an image editor but a world editor (another reason I have ignored this post so far)
Based on what people are saying it's sounding quite nice though - maybe I should give it a go :)
Yeah, thats what i thought it was at first, though i still looked: im more interested in an image editor, so im lad i did.
Thanks for then replys, it means alot to me.
Yes, I have changed the name now to PixelArtist, which is definatally better, the reason for the origonal name is a long one, but never mind.
I was going to start a new thread, but that would be cluttering the boards think.
Anyway, to have a button pressed is a nice idea, and I'll look into it, allthough I think it is becoming less and less necicary as I progress. I have tried to condence more into less buttons by adding a tool window.
I have now added the suggestion of the continus line thing, and added it as a new tool, Pencil.
I have re-uploaded with a few changes, so please get it from
http://www.lattyware.com/PixelArtist.zip again if you want to see the newest version.
I am now trying to make an undo, but once again my attempt failed, it worked, but slowed the program down so much it was impossible to use, back to the drawing board...
Thanks again, please comment more, I am very interested with what you have to say.
Lattyware.