PeterB. Posted May 6, 2021 Share Posted May 6, 2021 Hello, I'm currently working on layouts for printed maps. I would like to change the colors for individual object groups such as federal highways, motorways, forests, etc. In Illustrator there is a practical function "Define all colors used" for this purpose. This creates a list with all the colors used as global colors. Changing the colors now is a breeze. I found this function in Affinity Designer, but the colors are not global so I have to manually select and recolor all objects. Am I doing something wrong? Quote Link to comment Share on other sites More sharing options...
walt.farrell Posted May 6, 2021 Share Posted May 6, 2021 1 hour ago, PeterB. said: found this function in Affinity Designer, but the colors are not global Colors, by default, are not global. You can create global colors, and assign them to objects, and then if you edit the color all the objects will change. This requires that you create a Document Palette, and that you create the colors as Global before assigning them. Though it should be possible to perform a Select Same for a non-global color, and replace it in all objects with a global color that you have defined later. PeterB. 1 Quote -- Walt Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases PC: Desktop: Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 Laptop: Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU. iPad: iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard Mac: 2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1 Link to comment Share on other sites More sharing options...
PeterB. Posted May 6, 2021 Author Share Posted May 6, 2021 thank you @walt.farrell I think i forgot an important part. I use maps from OpenStreetMap and download PDFs from them. But then I have to recolor them accoring to my clients wishes. In Illustrator it is pretty easy to do this with the mentioned function, but I haven't seen anything like it in Affinity Designer. Quote Link to comment Share on other sites More sharing options...
Joachim_L Posted May 6, 2021 Share Posted May 6, 2021 2 minutes ago, PeterB. said: but I haven't seen anything like it in Affinity Designer A similar approach would be Select >> Select Same >> Fill Colour and pick the colour of your choice from a saved default palette. PeterB. 1 Quote ------ Windows 10 | i5-8500 CPU | Intel UHD 630 Graphics | 32 GB RAM | Latest Retail and Beta versions of complete Affinity range installed Link to comment Share on other sites More sharing options...
PeterB. Posted May 6, 2021 Author Share Posted May 6, 2021 Thanks @Joachim_L but that is still a lot more effort than in Illustrator. Maybe this function will be added. Until then, I'll probably have to keep using Illustrator. Quote Link to comment Share on other sites More sharing options...
woefi Posted May 6, 2021 Share Posted May 6, 2021 9 minutes ago, PeterB. said: but I haven't seen anything like it in Affinity Designer Yeah, I was wondering when this feature will be fully implemented. Because, as you said: the first part is already there – they just have to go the next step and make these colours global (like you already can with a single colour/object) and after that assign these (now global) colours back to the objects from which they came from. Sounds to me like a simple script. ...if Affinity were scriptable. But what do I know – I'm not a "real" programmer... PeterB. 1 Quote Main machine: iMac 2019 (21,5-inch 4k, 6core), 64GB RAM, 1TB nvme + 2TB ssd, running on Mac OS 13; Display setup: 28" 5k Display (primary) + 21,5" iMac4k-Display for studio panels (secondary); Keyboard layout: german apple extended keyboard (aluminium); Link to comment Share on other sites More sharing options...
loukash Posted May 6, 2021 Share Posted May 6, 2021 8 hours ago, woefi said: Sounds to me like a simple script. ...if Affinity were scriptable. You can use a global macro utility to speed it up a bit. You may still need to hover the pointer over each swatch because there is no way to target a swatch directly, other than defining coordinates relative to the window bounds, or relative to the last pointer position. But the right-clicking and the context menu selection is executed by the macro via keyboard shortcut. Here what this macro looks like in Keyboard Maestro (Mac only): On Mac, any menu item can be selected by typing it on the keyboard, hence typing "make g" is enough. There are other ways to select menu items, but this method is the easiest. Then confirmed by Return. If a swatch is already marked global, running this macro will select "Overprint". That's because when typing "m…" on a menu where no menu item starts with an "M", it will select the next best item alphabetically, and that's "Overprint" in this context menu. I haven't found a way around it yet, although I'm quite sure there is some. But to disable overprint again, simply run the macro one more time. If you're using the list view in the Swatches panel, the macro could be enhanced by adding a loop and move the mouse relative from the last location downwards to the next list item. That might be manageable e.g. in small batches, like looping 10 times. Here the above macro in action: ade_km_macro_make_global_swatch.mp4 Another option would be using the MacOS Automator, creating a Services plugin with a Run AppleScript action that would perform more or less the same steps as the KM macro. Services plugins can be executed via keyboard shortcuts as well. (I'm already using a few with Affinity.) Quote MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2 Link to comment Share on other sites More sharing options...
loukash Posted May 6, 2021 Share Posted May 6, 2021 (edited) 11 hours ago, loukash said: move the mouse relative from the last location downwards to the next list item Actually that action can be appended to my above macro. No manual pointer/mouse movement necessary, just keep on pressing the keyboard shortcut until all visible swatches are marked as global. The distance is 20 19 px in small list view: ^ It's actually 19 px, hence the missed swatches in video below. Edited May 7, 2021 by loukash Quote MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2 Link to comment Share on other sites More sharing options...
loukash Posted May 7, 2021 Share Posted May 7, 2021 ^ Well, that makes it pretty fast, considering the p.i.t.a. (pain in the arm) you'd have if wanting to right-click each of the 69 swatches manually: ade_km_macro_make_global_swatch2.mp4 A few times I was apparently too fast with the keyboard shortcuts so that a few swatches were missed. It might help to insert a "Pause: 0.1 s" action after each step. woefi 1 Quote MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2 Link to comment Share on other sites More sharing options...
woefi Posted May 7, 2021 Share Posted May 7, 2021 6 hours ago, loukash said: ^ Well, that makes it pretty fast, considering the p.i.t.a. (pain in the arm) you'd have if wanting to right-click each of the 69 swatches manually: Well, that's impressive although I was sure, if someone is determined to make it work, he will find sort of a workaround... but this absolutely has to be resolved inside the app by the Affinity-Team. The important part is, the app already knew from which objects the swatch originated from, but it doesn't apply the global colour to it. So it is not linked, which is the whole point of a global colour swatch. Doing that by "select objects by colour" and then re-applying it (for all ~100 colour swatches) would be a second scripting workaround to make it work as a whole... That's more of a "pain in the brain" if you ask me. A real (officially supported) scriptable approach would enable such wonderful tools like I have in Illu CS5: (of course I would prefer to have a native menu command instead...) Bildschirmvideo aufnehmen 2021-05-07 um 08.58.29.mov Quote Main machine: iMac 2019 (21,5-inch 4k, 6core), 64GB RAM, 1TB nvme + 2TB ssd, running on Mac OS 13; Display setup: 28" 5k Display (primary) + 21,5" iMac4k-Display for studio panels (secondary); Keyboard layout: german apple extended keyboard (aluminium); Link to comment Share on other sites More sharing options...
loukash Posted May 7, 2021 Share Posted May 7, 2021 2 hours ago, woefi said: this absolutely has to be resolved inside the app Absolutely agreed. 2 hours ago, woefi said: a second scripting workaround to make it work as a whole Yeah. I was tired late at night to continue … Quote MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2 Link to comment Share on other sites More sharing options...
loukash Posted May 7, 2021 Share Posted May 7, 2021 3 hours ago, woefi said: A real (officially supported) scriptable approach would enable such wonderful tools I hear you, and I'm sure Serif is aware of that demand as well: forum.affinity.serif.com/index.php?/search/&q=scripting&quick=1 Quote MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2 Link to comment Share on other sites More sharing options...
loukash Posted May 7, 2021 Share Posted May 7, 2021 8 hours ago, woefi said: That's more of a "pain in the brain" if you ask me. I just wanted to propose a full workflow which would (optionally) involve a few other 3rd party macros like the one above, but would have been likely manageable. Sadly, it doesn't work as easily as I would have thought because there seems to be a bug with the "Select Same" function: Quote MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2 Link to comment Share on other sites More sharing options...
Recommended Posts
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.