Drawing/painting application resources?

BlitzMax Forums/BlitzMax Programming/Drawing/painting application resources?

Lillpeter(Posted 2015) [#1]
Hi guys! I´ve started thinking about creating some kind of drawing/painting application in Blitzmax, mostly for the fun of it. I´m a professional game developer (2d/3d artist) and is quite familiar with programming concepts for games. However, I know next to nothing about basic principles for creating image manipulation programs such as photoshop/gimp/krita/painter etc, and I wonder if you could point me to any decent resource on this?


Hotshot2005(Posted 2015) [#2]
Pro Motion

or

https://code.google.com/p/grafx2/ It is Free!


Brucey(Posted 2015) [#3]
He's not really looking for painting programs. More about *how* to make them! :-p


Lillpeter(Posted 2015) [#4]
Ah, perhaps I wasn´t quite clear in the post above. I´m not looking for any particular peice of software, but resources explaining how to create such a program from scratch. Basic programming principles. How to manage and manipulate arrays (i guess) containing all the canvas pixel values using brush shapes. I don´t know, but perhaps this stuff isn´t usually narrowed down to one particular concept such as AI, physics or audio related programming.


Kryzon(Posted 2015) [#5]
Here's my contribution:

- http://losingfight.com/blog/2007/09/05/how-to-implement-smudge-and-stamp-tools/
- http://wiki.mypaint.info/index.php?title=Documentation/ForDevelopers (Development documentation of MyPaint, explains about the technology involved.)


Matty(Posted 2015) [#6]
Im not sure on your level of programming experience however the basics would boil down to knowing how to handle mouse and keyboard input, how to separate rgba values into their component channels and how to read and write to arbitrary xy positions in a 2d array.

If you can do that then the rest can be explored as you go.


BlitzSupport(Posted 2015) [#7]
There's tons of useful/relevant stuff in the Code Archives' Graphics section.


zoqfotpik(Posted 2015) [#8]
This is super easy. The only semi-difficult thing is paths, and the GUI which can be handled pretty easily with buttonbars.

Have a layers menu with various blend modes per layer that basically expose the blend mode part of the Max API. The layers are just images that you're drawing onto and then drawing with varying levels of transparency.

Read up on Photoshop filters, there are all sorts of things you can do with that.

Are you interested in selling this product?

It's way easier and more brute force than you think. Maybe you will get something out of this, I did:

http://www.computerhistory.org/atchm/macpaint-and-quickdraw-source-code/


Lillpeter(Posted 2015) [#9]
"This is super easy". If you say so :P Anyway, thanks for the replies. I´ll be digging deeper into this for sure.


Matty(Posted 2015) [#10]
So which parts are you unsure about? (Although knowing what it is we don't know is always a tricky concept - let alone knowing what someone else doesn't know).

;-)