Jump to content
ianrobertdouglas

Vector "Erase" effect on layers: possible yet, or any other strategy?

Recommended Posts

I'm new to Affinity Designer (AD), and to vector graphics, so pls bear with me.

 

Amazing piece of software, by the way!

 

So, I created a vector graphic with AD (v1.3.5) that is to serve as a logo. The client wanted a grunge effect on one part of the graphic, which I did by adding vector grunge textures as layers. Long story short, I needed quite a few to get the exact effect we wanted. They were mostly laid over text.

 

When I come to export, so the client can use the logo in the real world (i.e., .eps, .svg, and via Illustrator to .ai), everything works fine when I have a background present in the graphic. But I'm trying to find a way to have a transparent version, too. This would be important for the client, in terms of flexibility of use of the logo.

 

Some images that relate to my query:

https://cldup.com/T__1kSZ5pa-3000x3000.jpeg

 

I'm having problems with the grunge texture layers.

 

The Erase option on layers or groups in AD is fabulous. It does exactly what I want. I want to get rid of the colored font, but keep the grunge effect over the font (and elsewhere in this part of the graphic). With Erase enabled in AD on particular layers or groups, when you scale up the graphic in you see precise vector shapes are preserved. But when it comes to exporting, there are two options, as we know:

 

1. Export with rasterising "unsupported effects" (which sadly includes the Erase function); or

2. Don't rasterise, and see the Erase effect lost, and hence the transparency I need lost.

 

In my specific situation, rasterisation is not possible, and the result from Option #1 above is pixelated anyway, which is useless for me. On the other hand, because of the grunge effects, there are literally way too many small shapes to locate and make transparent manually. There are probably 5000+ of these tiny shapes. And I'd not only need to delete what is otherwise a white fill (absent the Erase function), but also the same shape, in place, in the background layers the grunge effects rest on top of.

 

Erase just does this directly. But it's unusable if you need a 100% vector output. Because it is an unsupported effect.

 

I've tried seeking a solution outside of AD. In Illustrator, in iDraw / Graphic, and also Inkspace. In none was I able to work out how to do what I wanted to do. 

 

I also tried exporting my AD graphic as .png and running through Vector Magic on the most detailed settings and vectorising again. But the result is at least 50% or more poorer than the original in my AD document.

 

In Illustrator, I could pick all layers with a certain color. But I wasn't able to work out how "cut" those layers *and* all other layers relevant that these shapes or nodes lay over.

 

I also tried merging to get one "flat" layer, but this didn't work as I expected. I still had around 15 layers, which was better than earlier. I had hope to produce one layer, basically black and white, and then render everything white transparent. But this was not working. I was unable to pick a white node without picking everything at the same time, including black.

 

In Inkspace, the exported .eps was pixelated, even without rasterising.

 

I couldn't immediately see anything in iDraw / Graphic that would help, though the .eps file was clean, just like it is in the original AD file. I couldn't see how to erase, in iDraw / Graphic, globally a single hex color, which is really -- ultimately -- what I need to do. Or otherwise, to force that color to be transparent, from the top of the layer tree to the bottom. 

 

So: two questions

 

1. Is AD close to being able to export a vector with the Erase effect preserved? 

 

2. Does anyone have advice on how to get that effect in a complex vector in the meantime, even if outside of AD (in Illustrator, for example)?

 

I spent all day trying to search for solutions on Google, but I'm not finding what I need so far. I fear that the complexity of the layers I have will prevent a simple solution. Again: Erase does it. But it's not possible, sadly, to output a 100% vector from it.

 

Vector Magic has a great feature when vectorising a bitmap image: you can cut a background out with the press of a button. Given the complexity of the grunge effects, this would not exactly be practical in my instance, but I know the hex value that I want to make transparent throughout my graphic, if anyone knows a way of forcing that.

 

Thanks for reading this far ... and for any advice or input.

 

Share this post


Link to post
Share on other sites

Hi ianrobertdouglas,

Welcome to Affinity Forums :)

Without seeing the file it's hard to advise correctly. How complex is the texture? This is important because we may be able to perform boolean operations with it or not depending on its complexity.

From your description seems you are dealing with a very complex layered vector texture. You may need to flatten it to just a single object first (assuming it's a black and white texture).

If the whole texture is a single object you may try to use it as a vector mask instead of the Erase blend mode for example keeping all data as vectors.

Share this post


Link to post
Share on other sites

Thanks for the reply. I isolated the problematic part and put it in a new file. It's 14MB, unfortunately. I don't know exactly why.

 

I guess it's a little complicated.

 

Basically, the file consists of a background shape, with grunge "edges" added. On top are some grunge textures. On top of that, a word in a particular font, and then on top of that some grunge textures to soften the word and the grunge effect overall.

 

As you'll see from the file, with Erase effect on I can basically make the layers I want transparent. So any background color works. Otherwise, I'd have to change the font color in each background, because the font color is white, with grunge effects either black or white, depending on what I needed where.

 

I don't know if there's anything you can learn from the file. But I'd appreciate any tips.

 

I'm sure the file is a mess, from a good practices point of view.

 

I'm learning by trial and error.

 

 

wine.afdesign

Share this post


Link to post
Share on other sites

Hi ianrobertdouglas,

Albeit defined mathematically as vector data, the file is big because it's composed by a huge number of shapes/nodes.

In this situation you can scale up and export the file with a higher dpi (as raster) keeping the Erase Blend Mode as it is, so you have enough data to scale the image size as needed, or if you really want to keep everything as vectors there's no other way as far as i know than to perform a few add/subtract boolean operations to make a composite/flatten vector texture. The problem with this is that's very processor intensive even for an high end machine and will take considerable time. Currently there's no way to simplify the paths (removing nodes) in Designer - which would help a little -.

Share this post


Link to post
Share on other sites

Many thanks. I will try to investigate "perform a few add/subtract boolean operations to make a composite/flatten vector texture". I'm not familiar with the terms. I can say that trying to manipulate the original .eps output in Illustrator (I tried flattening layers, to get to distinct grunge layers maybe I could act on) didn't go so well. I have a top of the line Macbook Pro with 16GB of RAM, but it struggled. Spinning beach ball, etc.

 

The issue with rasterising this is that ultimately it will become a shop sign, and I'm not sure how they will manufacture this. Maybe the manufacturers would be able to deal with a background color. I was just hoping to provide translucent, to allow greater flexibility.

 

I think rasterising would lead to issues when blow up, say, 20 feet across, and then printed, or etched or whatever they're going to do with it.

 

I guess I hope Designer makes an erase function compatible with vector output in the future. I read on these forums someone suggest "snap to pixel" and then bumping the layer slightly, so it would realign and be sharp, even though rasterized. I didn't try this, however, because I wasn't able to see exactly how to combine grunge layers in my specific example (given the order of layering these files was important).

 

I will also continue to investigate when I can.

 

Thanks for your input

Share this post


Link to post
Share on other sites

Just a status update: Having discovered what Boolean add actually does, I'm going about combining hundreds of shapes into distinct layers. Hopefully then, I might be able to run Boolean subtract and get the effect I'm looking for.

 

I am seeing, however, that AD balks if I try to add (i.e., combine) more than around 60 shapes or nodes at the same time. I've had a couple of complete hangs so far. Thank heaven for autosave!

 

The app is not particularly processor or RAM intensive when I'm doing this, or when it hangs. Mine is maybe an extreme situation (I'm guessing I literally have thousands of notes to combine, chunk by chunk), but it would certainly be great if AD was totally solid on this, without hangs. That way, I could just select X-thousand and go do something else while it works.

 

Right now, it hung, as I'm typing. But then I did get greedy and highlight around 100 shapes to combine with Boolean add.

Share this post


Link to post
Share on other sites

Incidentally, flattening or combining all these distinct shapes with Boolean add is radically reducing the file size. While I was originally working with 4000 x 4000 (I guess resolution shouldn't matter when working with vectors) and reduced this down to 800 x 400, flattening these grunge layers has so far allowed me to go from a file that was 270MB to one that is 11MB and falling.

Share this post


Link to post
Share on other sites

Hi ianrobertdouglas,

Glad you're moving forward. Affinity Designer is quite capable but your file is an extreme case. The file is becoming smaller because you're reducing the nodes considerably. All nodes that were overlapping solid areas of other shapes will disappear when you add them, simplifying the paths. For example there was several textures/nodes over the black rectangle shape you used in the beginning. After adding the rectangle with those textures, all nodes that were over the rectangle are removed.

Sorry for not being clear regarding boolean operations. It's simply the act of adding, subtracting or intersect shapes. By flattening i meant if you add two vector textures or two shapes (whatever), they become just a single object, thus a "flattened" object.

Share this post


Link to post
Share on other sites

I am true backer of Affinity, but have you tried Image vectorizer in the MAS? I got this output, from a screenshot of your post. Not bad I'd say. AD will get there on this part. 

Share this post


Link to post
Share on other sites

Perhaps my next question warrants a new thread, but I thought to put it here because it's same file, and my original image might help explain the effect I'm trying to get.

 

1. I ran Boolean add operations on all my grunge layers. So now I have only a few layers left (which reduced the file size down to 7.6MB, which is much better).

 

2. Now I'm trying to use these grunge layers to basically cutout parts of a layer below. So, for example, imagine the following:

 

a. I have a grey background

b. I have a black shape on top of this background

c. I have a white grunge effect on top of the black shape

 

I want to use the grunge effect to cut parts of the black shape out, so you would see the grey background below.

 

I've tried various things so far, like floating the grunge layer over the thumbnail of the black shape, but I'm seeing what I'm looking for. Then I set the color of the grunge effect to none, and tried again. No dice.

 

I'm sure this is a simple thing (at least I hope so).

 

So I'm basically (to return to where I started in this thread) trying to recreate the "Erase" blend mode but via a different route.

 

Can anyone give pointers?

 

I made a test file of the above, in case it's useful.

test_file.afdesign

Share this post


Link to post
Share on other sites

You mean, like so …  :unsure:

 

Well, I used an Erase blend mode on the white the grunge layer and grouped this layer together with the black shape … but from your other posts I get the impression that you dont want to work with blend modes. In that case you could simply (Boolean) subtract the white grunge layer from the black one, perhaps nondestructively by creating a compound … I hope I am not missing what you’re after …  :)

 

Oh, here’s another post concerning the Erase blend: 

 

https://forum.affinity.serif.com/index.php?/topic/14389-invert-clipping-mask/?p=63964

 

Cheers, Alex  :)

post-1198-0-89418400-1446245580_thumb.png

Share this post


Link to post
Share on other sites

I just updated my post to explain the way I did it …  :)

 

Wait, here are two screen shots:

  • First off, the Erase Blend method. Simply group the white grunge layer and the black rectangle together, and set the white grunge layer to Erase.
  • Secondly, the Boolean Subtract method. Select the white grunge layer as well as the black rectangle in the layers list, choose Layer > Create Compound, and use the icon on the layers list to choose the Subtract mode. (That’s the non-destructive way. MEB suggests the destructive one below … you can do it either way …)

Hope that helps …  :)

Alex

post-1198-0-60239200-1446246513_thumb.png

post-1198-0-89491700-1446246518_thumb.png

Share this post


Link to post
Share on other sites

Erase blend doesn't survive export to .eps / .svg, at least if you don't want to rasterize anything. But the subtract method does.

 

Yes, I read that from your earlier posts … glad, that you found a solution …  :)

Share this post


Link to post
Share on other sites

I'm still having problems with this file.

 

In order to retain everything in vector format, I used the subtract method outlined above. This is working for .eps export. I'm able to get the full transparency I was looking for. But this is not working for .svg export, which is important, as it would probably be the preferred format for a web logo.

 

Here is a comparison that shows the problem:

https://cldup.com/hdmkYvbqWy-3000x3000.jpeg

 

Does anyone have any idea why .svg is failing, and what to do to fix it?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

These are the Terms of Use you will be asked to agree to if you join the forum. | 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.