Simple graphic app dosble?

Good afternoon :wink:

My gitlfriend used once a free graphic app based on JS from Berlin which was then sold to Corel, and they started to charge heavily.

Next try was a native macOS app, also free, and after renaming to Curve, they charge a huge monthly amount now.

Affinity Designer 2 is cheap, but to complicated.

So finally my question:

Would it be doable to do a simple graphic app for social media posts where just some images are placed/resized/cropped along with text overlays? And would it perform well?

Is there a Xojo app or an example out there to get a feeling about performance?

thanks in advance from .ch
richard

Bonjour,

You can test my app RealCADD.
https://adx-online.com/realcadd/realcaddus.htm
It is a CAD app but you can import picture, resize them and add texts.
To crop picture, you can add white rectangles for example.

Think I remember that software, but went years ago towards QCAD/CAM (though their CAM is rubbish and unusable for pocketing ;o).

Well performance is nice…so it seems to be doable…

I assume Object2D is the way to go…and hopefully it can then be translated to Picture for exporting.

As a side note: You should make your website mobile aware (as many others I saw here ;o)…Google punishes websites with no proper CSS handling for different devices (o;

What about Preview (Aperçu en Français): free and you can do basic stuff with it (I do not talked about GIMP who is also free, but you may be able to do far more things with it): add text above an image for example…

Advantage: it let you time to do other things :wink:

1 Like

Where‘s the fun it? :wink:

Guess I spend some time this weekend and experiment with Object2D and Pictures.

Haven‘t anything though in the docs if an Object2D can be converted to PNG. Only to save as PICT. Didn‘t know that still exists. Reminds me of the good old SE/30 times and Apple Developer program cost you a fortune. But you got every year a new T-Shirt I still wear :wink:

If Affinity Designer is too complicated then try Logoist. The name is stupid but the app is good.

1 Like

This one I never saw nor know at the time.

For the save part, you have to read carefully the documentation.
Object2D are Vectors, but you can paint them into a Picture and then you can save that Picture to whatever you want … png, jpg, tiff, etc.

Thanks for the pointer…

Hmm…don’t see any clipping function for placed images…

Guess somewhere I have an old G3 lying around and a Illustrator 5.5 license…was still the best drawing app (o;

Anyway…my focus is to learn more about Xojo capabilities :wink:

Yes, you have to write that too by yourself…

But, you have Graphics and .Backdrop to play with (paint there).

Look at Graphics for other vector commands.

Just recently started to use Canvas as I wasn’t happy with any TabPanel solutions so far…so I did my one…and doesn’t look to bad so far (o;

So I’m gonna have some more fun with Canvas in the next few days (o;

Canvas seems to be quite powerful and the source of so many custom classes…

BTW: Can Xojo class events be overrided? Like to replace a paint event with its own?

I would recommend Snagit. It’s a screen-capture program at a reasonable price, but you can also open regular images in it too. It has several easy-to-use tools for all sorts of cropping, resizing, editing, highlighting and adding shapes, stamps, custom graphics and text (as well as text bubbles).

I own the whole Affinity suite, but sometimes when I do something like scanning a document, I find it much easier to just use Snagit for some basic resizing, format conversion and markup to add instructions. Easy to create memes in it too.

Plus, you get the bonus of having a sophisticated screen-capture program :wink:

SnagIt I know…

But originally my question was more of the sort “Can a simple graphic app perform well written in Xojo”…and RealCADD seems to prove it…

Regarding Object2D combined with Pictures there seems no examples around…so have to start from scratch…but probably doable for me…especially with the great hepl here :wink:

You’ve several graphics-related questions here, but yes, Xojo’s perfectly suited for writing a graphics app. There’s loads you can do very easily with pictures and the canvas. Some of the things you mention:

Moving, cropping and scaling - use Graphics.DrawPicture. You give it your source picture and either 2 or 8 parameters. If you give it all 8, you have full control how it’ll be drawn, but how you generate those parameters is up to you.

If you want several pictures and to be able to drag them around, overlay them, add text etc. you could load each picture into a PixmapShape, and each text string into a TextShape. Then you have all the Object2D properties to rotate, move, scale them and their own properties specific to PixmapShape (if you want work on a picture via its RGBsurface say) and to TextShape (if you want to change font or something).

Picture.Save to save your picture and you can access several of the common image file formats.

The documentation is thorough on this and there’s relevant projects in the Examples.

Regards - Richard.

With DrawPicture and DrawText, I’m not sure why you would need an Object2D. Just create a new picture and draw/scale the image into it and draw text over top.

Hmm…already can drop images and drag them around (o;

Now onto scaling and rotating (o;

Scaling is easy;
Rotating is a different beast: you will learn !

Well rotating an image isn’t that hard (o;
The biggest challenge is to handle the rotating via mouse drag and to check if a mouse click happened inside a rotated object.

What if your rotated square or rectangle have parts that are outside of the display area (both Canvas / Windows) ?

Seen commercial graphic apps where an object dragged outside became invisible…

So you mean I should do a bigger Canvas and only draw in a smaller area in the middle?

No, I only mean I went on that road and then I checked what GIMP do, and yes, some parts of the square (or the rectangle) disappears … once rotated to 90° (I think it was that.

Because I was only exploring, I let the project as is…

It is certainly possible to compute the target size, enlarge the offscreen picture, etc…