Hey everyone! I’m working on a drawing app that needs to work on different computers. The big thing is I want to control every single dot on the screen. Like I want to make my own way to draw lines instead of using someone else’s. No blurry edges either - just clear dots.
I’m hoping to use Python, or maybe Java if I have to. It needs to work on lots of different computers easily. I’m okay with using different things for each type of computer as long as I can wrap it up nicely.
Oh, and it needs to draw right on the screen, not just save pictures. Any ideas what I could use? Thanks!
hey there creativePainter33! have u looked into pygame? its pretty cool for 2D stuff in python. i used it for a game once and it let me mess with individual pixels. works on different systems too. might be worth checking out for ur drawing app!
I’ve been down this road before, and I can tell you it’s quite a journey! For precise 2D rendering across platforms, I’d highly recommend looking into SDL2 (Simple DirectMedia Layer). It’s a cross-platform library that gives you low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
I used SDL2 for a similar project, and it was a game-changer. You can use it with Python (via PySDL2) or Java (via SDL2 bindings), giving you the flexibility you’re after. It allows for pixel-perfect drawing and direct screen access, which sounds exactly like what you need.
One thing to keep in mind: while SDL2 is powerful, there’s a learning curve. But once you get the hang of it, you’ll have incredible control over your graphics. Just be prepared to write more low-level code than you might be used to. It’s worth it for the precision and cross-platform capabilities, though!
For your requirements, I’d suggest considering SFML (Simple and Fast Multimedia Library). It’s a robust, cross-platform solution that provides low-level access to a system’s hardware, allowing precise pixel manipulation. I’ve used it in C++ projects, but it also has Python bindings via pySFML.
SFML offers fine-grained control over graphics rendering, which aligns with your need for pixel-perfect drawing. It’s relatively straightforward to set up and use across different platforms, making it suitable for your multi-platform goals. The library also supports real-time rendering to the screen, not just saving images.
While it may require some initial setup, SFML’s performance and flexibility make it a solid choice for your drawing application. Just be prepared for a bit of a learning curve if you’re new to graphics programming.