Jump to content

Recommended Posts

Posted

Hey everyone!

Hoping to find a quicker way to combine a large number of individual curves to create just one curve!

I've attached an example below - this design has heaps of individual curves in layers. I want to combine all of these so they are just ONE curve.

Usually i do this by highlighting all the curves and clicking "ADD" at the top. This is okay for a few number of curves but when I have heaps like in this design, it doesn't work well at all. 

When i try to highlight heaps of curves & click "ADD" - Affinity takes awhile to load (which is understandable as there is so many) but when finished loading it doesn't do anything. It seems to only work if I highlight a couple at a time. I can't do it with all of them. 

Because of this, this means I have to flick through and select lets say... 10 curves at a time and combine them but this is taking way way too long and i've given up on this way! 

Reaching out to the Affinity community to see if there is a much more faster and efficient way to do this! 

Thanks!! 

curves test.JPG

curves test.afdesign

Posted

Another way is to use some vectorizer which combines all the color quantisized curves (in this case the gray levels) together into single color/gray level curves, one can usually tell after how many colors/gray levels to trace color wise here. - You would then get for example for a trace after 5 colors/gray levels as a result 5 combined colored curves.

grunge_vectorized.jpg.76a62fd22fb0c6ab496ce0479a453659.jpg

This does then combines a bunch of the single same xx colored curves all together into one just one such curves object. And if you group all the resulting curves together, that grunge texture is more easy to handle. - Beside the already above said, it's often easier to deal with as with performing all those selection & combine steps manually in ADe etc.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

  • Staff
Posted

Hi @Beck,
Welcome to Affinity Forums :)
For cases like this it's better to use the command Merge Curves rather than Add (unless you have a specific reason for doing so).
The difference between the two is that Add must check/evaluate all the objects to see if they intersect and calculate/output the respective result taking way much more time, whereas Merge Objects just merges them all in a single layer without any calculations so overlapping objects remain as such in the new single layer as they were originally.

Posted

An additional annotation to possibly make the problem a bit clearer: usually vector graphics result in smaller file sizes than pixel images, because they usually contain much less data - not the data of each single pixel, but only the coordinates of the nodes, angles, curvatures, colors... of the objects the image contains. But if you would vectorize each single pixel of a pixel image and save it as a vector format (SVG), you would get a much bigger file size than the pixel image. So if you have a vector image with so many tiny objects, that consist of so many nodes, you will have a huge amount of data, your computer has to deal with. That takes a lot of power and time and will create huge file sizes.

Posted
23 minutes ago, iconoclast said:

So if you have a vector image with so many tiny objects, that consist of so many nodes, you will have a huge amount of data, your computer has to deal with. That takes a lot of power and time and will create huge file sizes.

As I've already said and shown above it highly depends on how you do vectorize and that you have to trace color layer based combined. So ...

  • The above grunge texture as an bitmap JPG takes ~393 KB in size.
  • The as I've adviced tracing way generates out of that JPG as a vector result ~144 KB in size.

What you tell here about tracing every single dot object then as a seperate single nodes object is inefficient and completely unnecessary for such style of textures/grunges!

 

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Posted
7 minutes ago, v_kyr said:

..What you tell here about tracing every single dot object then as a seperate single nodes object is inefficient and completely unnecessary for such style of textures/grunges!

 

Sorry, but that is not what I did. I was simply talking about a misunderstanding I often was confronted with in the past. Some people that are new to computer graphics and heard that vector graphics can be scaled lossless and have smaller file sizes than pixel images (what is theoretically true), think they can outwit the rules this way and upscale even photographs lossless and, as if that weren't enough, get smaller file sizes. I supposed that something like this might have been the reason why the OP created his grungy texture as a vector graphic. Of course I wouldn't trace every single grain of such a texture as curves. I wouldn't even try to autotrace it. That wouldn't be worth it. And, by the way, to upscale grunge lossless is a funny imagination anyway.

Posted
1 hour ago, iconoclast said:

Some people that are new to computer graphics and heard that vector graphics can be scaled lossless and have smaller file sizes than pixel images (what is theoretically true), think they can outwit the rules this way and upscale even photographs lossless and, as if that weren't enough, get smaller file sizes.

For vectorizing/tracing it always also depends highly on several factors here, like initial the given image/template dimension size to trace, the amount of colors which have to be quantized (recognized/determined) and mainly the overall compexity of the image in composed parts/shapes etc. which vectors will be then build off. All that and the way you setup a vectorizer how to trace a template/image plays a role here at all. - So also knowing how a vectorizer works for certain of it's setup options/conditions and in dependence of what you throw on it as input to trace, is always of an advantage here. There are often situations where you have to think first and (pre)analyze images etc. yourself, before getting what you are after via vectorization. Just using it blindly isn't adviced.

1 hour ago, iconoclast said:

I wouldn't even try to autotrace it. That wouldn't be worth it. And, by the way, to upscale grunge lossless is a funny imagination anyway.

I would after preanalyzing and seting up optimal tracing options for the appropriate task I want, especially for very and more complex ones. And for up-/downscaling it depends, as said above before, on the initial trace size and used document size. Since I then can fit the up-/down-scalling as needed in a much better way. I can then also recolor grunges/textures much more easily to certain picture and drawing conditions.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Posted

Well, I think I know that, we don't need to dispute about it. If I  create an image, I usually know before I start if it shall be a pixel image or a vector graphic. And I usually have reasons for this decision. If I want to have a photograph, I usually take a photo and do image editing, if I want to paint, I simply paint with a painting app, and If I want to create graphic art or something like a logo, I usually use a vector graphic software like Designer for it. I usually don't want to create photos or paintings by bending Beziér Curves. If anyone has a different workflow, that's OK for me. I also used autotracing several times and I know that there are  a lot of adjustments that can be made and what they are for. I only wanted to point at the fact, that there are good reasons why pixel images AND vector graphics exist side by side, and none of both is a real substitute to the other one. You can of course try to create a vector graphic that looks like a photo, and you can create a graphical pixel image. But it can't be a mistake to know what you do and why you do it this way, because each of this two methods has it's advantages, but also disadvantages. E.G. if you trace or autotrace an image - even it is very complex - and you upscale it, you will see that there is a lack of details the more you upscale it - even in a vector graphic. And if there is a posterization (which is typical, especially after autotracing), it will become as more obvious as more as you upscale. And everything you do to smoothen away the graphic character of a vector graphic will blow up it's file size. The file size grows with the complexity of the vector graphic.

By the way, to autotrace a bitmap can't really be called "lossless". Of course, depending on the image.

Posted
3 hours ago, iconoclast said:

... if I want to paint, I simply paint with a painting app, and If I want to create graphic art or something like a logo, I usually use a vector graphic software like Designer for it. I usually don't want to create photos or paintings by bending Beziér Curves. ...

That's the usual common usage and why there are the different photo & pixel editing/painting and vector design apps at all. - Tracing, aka vectorizing high resolution photos/images isn't what vectorizers/tracers are initially meant for and only very few tracing tools do reach and would fulfill some higher demands here. So high resolution photo realistic tracing is not what vectorizers are meant for! The domain of tracers is instead to vectorize simpler drawings & shapes, so everything in graphics which makes sense to have in scalable vector formats (logos, icons, banners, certain shapes and forms etc.).

What will be obvious when tracing highres images are all finer color transition nuances and gradients, those will showup like posterization via upscaling. As every color nuance will be treated as an seperate shape/nodes object. File size increases can occur for such image, which do consist of a lot of different colors nuances, color transitions, among of a bunch of seperate image pixels. Since good tracing algorithms do determine all the different colors and highlightings of every pixel in an image, even things one might not determine directly just by eye wise looking.

However, for other sort of graphics drawings good tracing algorithms do recognize and also optimize pixels and can smooth edged pixel lines etc. What you will get as a result here then is absolute up-/down scalable, especially in contrast to plain pixel/bitmap graphics data.

For the sample texture/grunge with just a few different colorings, as shown here in this thread, a good vectorizer can still optimize it in a still good manner when used the right combining way. The result will also upscale much better and smoother than the initial pixel data and also use less of overall file size.

 

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Posted
On 4/19/2023 at 7:23 PM, v_kyr said:

Another way is to use some vectorizer which combines all the color quantisized curves (in this case the gray levels) together into single color/gray level curves, one can usually tell after how many colors/gray levels to trace color wise here. - You would then get for example for a trace after 5 colors/gray levels as a result 5 combined colored curves.

grunge_vectorized.jpg.76a62fd22fb0c6ab496ce0479a453659.jpg

This does then combines a bunch of the single same xx colored curves all together into one just one such curves object. And if you group all the resulting curves together, that grunge texture is more easy to handle. - Beside the already above said, it's often easier to deal with as with performing all those selection & combine steps manually in ADe etc.

@v_kyr Thanks for your input! 

I just took a look at this and it's pretty close to what i need but i just need this inverted somehow. When i select one of the layers and colour fill, it colour fills the background instead of the little shapes - is there a way to invert this so the colour fills the shapes instead? And you do always use 3rd party software to do this? There isnt an easy way to do this in Affinity Designer? 

I was reading through the comments on the thread and got a little lost and confused haha 

My main goal is to just create this as one curve / layer (quickly and easily) so I can add gradients to the pattern. Maybe i havent yet found the best way to do this... I source a lot of patterns online and many come in this format - a PDF or .AI file with all the shapes as individual curves! 

 

Posted

 

On 4/19/2023 at 7:54 PM, MEB said:

Hi @Beck,
Welcome to Affinity Forums :)
For cases like this it's better to use the command Merge Curves rather than Add (unless you have a specific reason for dong so).
The difference between the two is that Add must check/evaluate all the objects to see if they intersect and calculate/output the respective result taking way much more time, whereas Merge Objects just merges them all in a single layer without any calculations so overlapping objects remain as such in the new single layer as they were originally.

Hey @MEB

Where can I find the option on Affinity Designer to "Merge Curves" instead of add. I had a look and couldnt seem to find the setting. I'd like to know setting in software rather than keyboard short cut as i sometimes switch between devices :)

hopefully this way works!! 

thanks! 

Posted
59 minutes ago, Beck said:

Where can I find the option on Affinity Designer to "Merge Curves"

Layer>Geometry>Merge Curves

Affinity Photo 2.5..; Affinity Designer 2.5..; Affinity Publisher 2.5..; Affinity2 Beta versions. Affinity Photo,Designer 1.10.6.1605 Win10 Home Version:21H2, Build: 19044.1766: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz, 3301 Mhz, 6 Core(s), 12 Logical Processor(s);32GB Ram, Nvidia GTX 3070, 3-Internal HDD (1 Crucial MX5000 1TB, 1-Crucial MX5000 500GB, 1-WD 1 TB), 4 External HDD

Posted
1 hour ago, Ron P. said:

Layer>Geometry>Merge Curves

Hey @Ron P.! This does exactly what i need and is so quick! No lag at all. 

Much much more efficient than what i was doing. Thank you so much!! 

Posted
1 hour ago, Beck said:

Hey @Ron P.! This does exactly what i need and is so quick! No lag at all. 

Much much more efficient than what i was doing. Thank you so much!! 

You can set it for one click operation using the assign shortcut section of preferences, I've used ⌃ + M
image.thumb.png.109ca3989ba5013226d3235def9e9d51.png

iMac 27" 2019 Sequoia 15.0 (24A335), iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Posted
8 hours ago, Beck said:

I just took a look at this and it's pretty close to what i need but i just need this inverted somehow. When i select one of the layers and colour fill, it colour fills the background instead of the little shapes - is there a way to invert this so the colour fills the shapes instead?

It depends for this after colored layer based tracing, which layers you recolor. Think of it as if an initial image is composed out of different color value objects, so the background has an overall dominant color which will be determind as a rectangular area during this sort of tracing. All different colored/grey shaded grunge objects will also be represented by a traced layer. So you will get a bunch of different color value layers with combined objects. - In order to inverse or seperate parts of the result you can make use of the ADe geometrical operations (add, subtract, xor, divide...) for selected layers.

Quote

And you do always use 3rd party software to do this? There isnt an easy way to do this in Affinity Designer?

You mean related to tracing or creating such textures in general? - If you mean the tracing, ADe doesn't have any build-in bitmap-to-vectors tracer, so one has to use some third party tool for this vectorization task instead.

Other than that it mostly depends on the complexity of the needed grunge texture, for simpler textures one can of course also create those directly in ADe itself, via manually placing/duplication and distributiing enough group of shapes/curves etc.

For more advanced and complex grunge textures I personally for my part reuse ready made texture bitmap or vector images from the net. If there isn't a ready to reuse vector representation of some texture and just a bitmap, but I would need then that one as vectors, then I generate an own vector representation of that via some better third party vectorization/tracing tool.

 

8 hours ago, Beck said:

My main goal is to just create this as one curve / layer (quickly and easily) so I can add gradients to the pattern. Maybe i havent yet found the best way to do this... I source a lot of patterns online and many come in this format - a PDF or .AI file with all the shapes as individual curves!

Most of those on the net reusable vector patterns (PDF or Ai files) here are created or traced instead as a bunch of seperated single curve objects. So some may have then hundreds of single layer objects, which are not always easy to take over, if they are not already grouped accordingly in some meaningful manner together. So you would then have to group chunks of them yourself and the like.

You can also autotrace a bitmap in that single layer objects manner, though then the traced vector result will have hundreds of different colored/shaded single objects. With other words many more vector layers.

☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan
☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.