iOS image manipulation

Is there a way to do image manipulation for iOSbitmap objects?
I am looking for a way to add color effects and use blending modes.

iOSBitmap carries a graphics object which you could manipulate with the CGContext features:
https://github.com/UBogun/Xojo-iosLib/wiki/AppleCGContext

Thanks Ulrich. I have quickly scanned through the website. But I can’t really see a way to manipulate my image through that. I was kinda hoping that one might have made an iOS Image Manipulation Kit. I know, wishful thinking, eh?

I will try to dive deeper into the AppleCGcontext page later. But, to be honest, I don’t know much about the declare part of Xojo. Shame on me, 'cause a lot of the functionality I would love to implement in my apps lay in the magical world of Declares, deep in the cores of the Apple Frameworks

I see, Edwin. I am afraid that’s a bit early – while many features are implemented in the current iOS libraries, there was no time for building many convenience methods around them. You might have seen that Core Image filters are included in IOSLib, but currently (for example) there is no blur method on UIImage level which would build a CIBlurFilter, read the original image and return the blurred result or something. Instead, you would still have to prepare a filter and read its properties.
Which is not that difficult, it’s basically just instantiating the filter class, but in terms of usability it’s of course one level lower than what an image manipulation kit would offer.

The declare libraries, anyway, are there so that you don’t have to declare on your own but use the features like native Xojo ones.

I know. And I have to really get into that. It is still a little bit complicated. I started software development in order to automate things I do in live. To make live easier, so to say… I’m rather lacy than tired :wink:
But, in order to get there I need to start understanding the way the various declares do, and how to implement them.
What I usually do, is make reusable code, O can implement in other projects. So, a filterClass would be ideal to be just dragged in the project, as graphics object extension, and go nuts.
Same is for other iOS and Desktop projects. Like CoreLocation (GPS), still needs a lot of work to get the job done. It would be better, in case of the CL thing, to just have a control to be dragged on the view, and access it that way, just one control… not a gazillion classes and modules in the project browser.
The lather is, of course, a bit off topic.

And, as you mentioned, it is still early. Xojo is, as far as I know, one of the most active development software I know. So, in time most things we need will be nicely packaged and ready for RAD.

I understand what you mean. I was thinking about separate controls and small drag-in-projects for iOS initially too, but after digging a bit into them I realized they make sense if you just need one single control but they blow your project up enormously whenever you need more than a handful of different classes. There would be too much redundant code. An image manipulation class would need to include NSArrays, CIFIlters, UIImage, CGImage and I don’t know what more, and the situation is similar for almost every class or framework.

But I know how you feel when you drag one of the libraries into your project and suddenly have 500+ new classes to explore. It’s a bit overwhelming. Especially while iOSLib’s documentation shows only about maybe 20% of the lib’s contents.
I look forward to the Xojo-made plugins, whenever they will come. You might still have all those classes flying around but they won’t fill up your navigator. May just be a psychological factor, but i wouldn’t neglect its impact.

About iOS graphics: I’ve been playing around a lot with them recently. If you need help with something, and may it be for ripping out iOSLib’s features to crate a closed image manipulation class, feel free to ask me. Most of it should already be included, only in very different corners.

Well, there is a thing as Shared Methods and Shared Properties. Whenever a new instance of a control or class is used, it uses the same data in memory. So, most of the core functionality will be in these Shared properties and methods. Instance specific stuff will reside in the regular properties and methods.

I do too. But as I have heard, or read somewhere, is that Xojo will have the ability to create your own plugins, in the next release of Xojo. I am kinda exited about that. I have no clue how that is going to work. But this might mean, that a library like iOSlib could end up being only a handful of controls and classes, the ones a developer really needs. Supporting classes could be hidden in the system, and accessed through some kind of iOSlib-framework-namespace.

Actually, I am checking almost every day for updates. It is about to happen, right? Last upgrade was over 3 months ago.
Dang… I look like a little boy, walking to my favorite store every day to see if that new toy I was waiting for arrived yet :wink:

That would be awesome! For now I am going back to the drawing table, and look for another approach. What I am making is not really another iOS-Photoshop-app. It is actually a new game. Even though I hate games. This one is rather fun, and I would actually play it, I think.
But, doing everything alone makes it hard to develop. And programming is not my daytime job. I’m a cameraman, with apparently lot’s of free time in the summer. So everything I develop is done “after hours”

Great! I personally would love to see many more Xojo-made games. You have checked the SpriteKit addition then, haven’t you? (If it should be adequate for your type of game of course).

That’s not so far from what the libraries are doing, except for all the helper classes appear in the navigator where they tend to rather confuse than clarify. Building classes has the advantage to keep everything as an object and therefore subject to custom manipulation, I think, but there’s no need to have them visible all the time. I created a few convenience modules in iOSLib, but i would really prefer to have the rest invisible for the user. At least as long as he wants to.

Xojo-made plugins will come but they are not promised for 2015r3.

If you don’t mind please keep me updated on your game progress!

Dang… oh well… we just have to wait and see.

No problem. The game itself is fairly simple. Just to get the UI is a bit of an adventure. I just need to find the right approach.

In fact, no, I haven’t. I will have to look into that. That is better than re-inventing the wheel. Not? :slight_smile:

I think it is extremely easy to use if you are heading for a 2D game. Documentation (before renaming) is here: https://github.com/UBogun/Xojo-iOSLibSpriteKit/wiki

Like you, I have a hard time waiting for 2015r3 because I’d like to port SpriteKit to Mac OS X. In fact it’s almost done already, in theory …