Jacob Bugge
Community Expert
Jacob Bugge
Community Expert
Activity
24m ago
This planet has been claimed,
... View more
6 hours ago
Hi friends, I tried another way. And worked! (my artboard is 5,2 meters x 3 meters ) 1- in ilustrator export the file to JPG CMYK (I tried TIFF but didn't work) 2 - open the JPG in photoshop 3- export to PDF photoshop X1-A (without PSD editing capabilities). Hope to helped someone.
... View more
7 hours ago
@Xander36210402r7ns - Pour utiliser découper le objets inférieurs on sélectionne uniquement le trait de découpe. - Pour utiliser le cutter, il faut sélectionner tous les objets à couper. Pour couper selon un tracé rectiligne, appuyez sur la touche Alt (Windows) ou Option (Mac OS) tout en cliquant sur le plan de travail avec l’outil Cutter, puis faites glisser le pointeur, ajouter la touche MAJ pour contraindre la direction horizontale. Ces deux méthodes fonctionnent uniquement si les objets ont un fond. (objets groupés ou pas et même situés dans des calques différents) Voir la solution B de @Jacob Bugge René
... View more
Mar 02, 2025
Good to hear that worked.
... View more
Mar 01, 2025
02:16 PM
We'll tell you when you're older.
... View more
Mar 01, 2025
02:16 AM
You are welcome, Xander.
I have improved the description of how to get the desired change, now with 3 steps.
It is easier if you use the all too well hidden Insert Photos button at the top of the Reply box (looks like moon over mountains) to have screenshots shown i the post, rather than the all too conspicuous attachment option which requires opening a new Tab (with things apart).
... View more
Feb 28, 2025
06:37 AM
Wow, thanks Jacob & Ton. I didn't expect to get this much info from my question. Nice to see we have some knowledgeable, experienced folks here in the forum!
... View more
Feb 28, 2025
06:06 AM
Timmy,
Is there a reason to have the Distress Group larger than the desired Bounding Box, rather than delete the outlying parts?
... View more
Feb 27, 2025
03:09 PM
"There may be large format printers to do CMYKOG"
There are many.
In fact, my own printer (an HPz3100) has even more: it has 12 inks in total, which include M (Magenta) Y (Yellow) PK (Photo Black) G (Grey) LG (Light Grey) LC (Light Cyan) LM (Magenta) R (Red - which is really more of deep orange) G (Green) and B (Blue - richer and more vibrant than Cyan), along with a MK (Matte Black) and a GE (Gloss Enhancer).
(The extra Blacks and Greys are mostly for superior full-range B&W photo printing, but are also used for full colour work)
It's imperative that this be a color-managed workflow and requires RGB data to take advantage of the wider gamut.
(You will notice there's actually no Cyan – Between the Blue ink and the Light Cyan ink, it covers everything a Cyan would do, so it is unnecessary.). I typically send AdobeRGB data and it's gorgeous.
Also, for my design work, the extra inks allow me to print more than 90% of the Pantone library accurately, whereas a typical CMYK printer can barely handle 20%.
In these printers, the "Light" inks are there to alleviate the problem with sthe catter-dot process an ink-jet uses, as the inkjet "dots" are a fixed size, so at the light end of a color gradient (say between 0-5%) theses dots are very obvious and far apart, so the light inks "fill things in" for a much smoother result.
... View more
Feb 24, 2025
04:50 PM
Leah,
Maybe far too far out, but I believe that you may somehow confuse/overwhelm the printer(s) with all the differently (coloured and) dashed bottom lines on top of one another, and that maybe tiny differences in the positions of the bottom lines in the PDF cause the issue on certain pages and not on others.
"extra lines appear, coming from one of the corners"
Actually, they come from multiple corners, and at least the misplaced continuation of the fourth dashed line from the right (the bold one with two shorter dashes at the end of each long dash) comes from a position further to the right from that corner.
Therefore I would suggest your making a separate print version of the final pattern set, using Save As and adding Print to the document name, and then modify it as follows:
1) Delete the bottom segment of all the dashed lines except the outermost rosy coloured bold one with the long and short dashes;
2) Leave the rosy colured bottom segment dashed or replace it by a full rosy colured line (you can drag it out with the Line Segment Tool between the end Anchor Points).
You can also just do/try it to eliminate the cause of whatever is (not) happening, and to give a nice and simple appearance in print with/withour Colours.
As I see it, the use of that (rosy) colour would give a consistent boundary to the whole set, continuing the outermost pattern line.
After that, you can go back to the final pattern set for editing or as the basis for a new pattern set, leaving the print version behind.
... View more
Feb 23, 2025
10:02 PM
2 Upvotes
Hi @optimisticperson, as others have rightly said, there is no other way than adjusting by hand because Illustrator has no capability to judge properties such as the "visual weight" of an object. No doubt one day it will! Making disparate logos sit comfortably together is a task involving significant skill.
However, perhaps it would still save some time to give a rough approximation? I have written a script that scales the selected page items such that the area of each item's bounds matches the average area of all the items.
It won't do a great job, because the bounds of a logo isn't a good metric for the visual weight, but it might provide a starting point. Let me know if it is helpful.
- Mark
/**
* @file Scale To Average Area.js
*
* Scales the selection such that the area
* of each item's geometric bounds match
* the average area of the selected items.
*
* @author m1b
* @version 2025-02-24
* @discussion https://community.adobe.com/t5/illustrator-discussions/how-to-automatically-resize-a-bunch-of-logos-so-they-re-visually-proportional/m-p/15168811
*/
(function () {
var doc = app.activeDocument,
items = doc.selection;
if (0 === items.length)
return alert('Please select some items and try again.');
scaleItemsToAverageArea(items);
})();
/**
* Scales each page item in `items` such that the area
* of each item's geometric bounds match the average area
* of the selected items.
* @date 2025-02-24
* @param {Array<PageItem>} items - the items to scale.
*/
function scaleItemsToAverageArea(items) {
var areas = [],
areaSum = 0;
for (var i = 0, bounds, area; i < items.length; i++) {
bounds = getItemBoundsIllustrator(items[i], false);
area = (bounds[2] - bounds[0]) * -(bounds[3] - bounds[1]);
areas[i] = area;
areaSum += area;
}
var averageArea = Math.sqrt(areaSum) / items.length;
for (var i = 0, scaleFactor; i < areas.length; i++) {
scaleFactor = averageArea / Math.sqrt(areas[i]);
items[i].resize(scaleFactor * 100, scaleFactor * 100);
}
};
/**
* Returns bounds of item(s).
* @author m1b
* @version 2024-03-10
* @param {PageItem|Array<PageItem>} item - an Illustrator PageItem or array of PageItems.
* @param {Boolean} [geometric] - if false, returns visible bounds.
* @param {Array} [bounds] - private parameter, used when recursing.
* @returns {Array} - the calculated bounds.
*/
function getItemBoundsIllustrator(item, geometric, bounds) {
var newBounds = [],
boundsKey = geometric ? 'geometricBounds' : 'visibleBounds';
if (undefined == item)
return;
if (
item.typename == 'GroupItem'
|| item.constructor.name == 'Array'
) {
var children = item.typename == 'GroupItem' ? item.pageItems : item,
contentBounds = [],
isClippingGroup = (item.hasOwnProperty('clipped') && item.clipped == true),
clipBounds;
for (var i = 0, child; i < children.length; i++) {
child = children[i];
if (
child.hasOwnProperty('clipping')
&& true === child.clipping
)
// the clipping item
clipBounds = child.geometricBounds;
else
contentBounds.push(getItemBoundsIllustrator(child, geometric, bounds));
}
newBounds = combineBounds(contentBounds);
if (isClippingGroup)
newBounds = intersectionOfBounds([clipBounds, newBounds]);
}
else if (
'TextFrame' === item.constructor.name
&& TextType.AREATEXT !== item.kind
) {
// get bounds of outlined text
var dup = item.duplicate().createOutline();
newBounds = dup[boundsKey];
dup.remove();
}
else if (item.hasOwnProperty(boundsKey)) {
newBounds = item[boundsKey];
}
// `bounds` will exist if this is a recursive execution
bounds = (undefined == bounds)
? bounds = newBounds
: bounds = combineBounds([newBounds, bounds]);
return bounds;
};
/**
* Returns the combined bounds of all bounds supplied.
* Works with Illustrator or Indesign bounds.
* @author m1b
* @version 2024-03-09
* @param {Array<bounds>} boundsArray - an array of bounds [L, T, R, B] or [T, L , B, R].
* @returns {bounds?} - the combined bounds.
*/
function combineBounds(boundsArray) {
var combinedBounds = boundsArray[0],
comparator;
if (/indesign/i.test(app.name))
comparator = [Math.min, Math.min, Math.max, Math.max];
else
comparator = [Math.min, Math.max, Math.max, Math.min];
// iterate through the rest of the bounds
for (var i = 1; i < boundsArray.length; i++) {
var bounds = boundsArray[i];
combinedBounds = [
comparator[0](combinedBounds[0], bounds[0]),
comparator[1](combinedBounds[1], bounds[1]),
comparator[2](combinedBounds[2], bounds[2]),
comparator[3](combinedBounds[3], bounds[3]),
];
}
return combinedBounds;
};
/**
* Returns the overlapping rectangle
* of two or more rectangles.
* NOTE: Returns undefined if ANY
* rectangles do not intersect.
* @author m1b
* @version 2024-09-05
* @param {Array<bounds>} arrayOfBounds - an array of bounds [L, T, R, B] or [T, L , B, R].
* @returns {bounds?} - intersecting bounds.
*/
function intersectionOfBounds(arrayOfBounds) {
var comparator;
if (/indesign/i.test(app.name))
comparator = [Math.max, Math.max, Math.min, Math.min];
else
comparator = [Math.max, Math.min, Math.min, Math.max];
// sort a copy of array
var bounds = arrayOfBounds
.slice(0)
.sort(function (a, b) { return b[0] - a[0] || a[1] - b[1] });
// start with first bounds
var intersection = bounds.shift(),
b;
// compare each bounds, getting smaller
while (b = bounds.shift()) {
// if doesn't intersect, bail out
if (!boundsDoIntersect(intersection, b))
return;
intersection = [
comparator[0](intersection[0], b[0]),
comparator[1](intersection[1], b[1]),
comparator[2](intersection[2], b[2]),
comparator[3](intersection[3], b[3]),
];
}
return intersection;
};
/**
* Returns true if the two bounds intersect.
* @author m1b
* @version 2024-03-10
* @param {Array} bounds1 - bounds array.
* @param {Array} bounds2 - bounds array.
* @param {Boolean} [TLBR] - whether bounds arrays are interpreted as [t, l, b, r] or [l, t, r, b] (default: based on app).
* @returns {Boolean}
*/
function boundsDoIntersect(bounds1, bounds2, TLBR) {
if (undefined == TLBR)
TLBR = (/indesign/i.test(app.name));
return !(
TLBR
// TLBR
? (
bounds2[0] > bounds1[2]
|| bounds2[1] > bounds1[3]
|| bounds2[2] < bounds1[0]
|| bounds2[3] < bounds1[1]
)
// LTRB
: (
bounds2[0] > bounds1[2]
|| bounds2[1] < bounds1[3]
|| bounds2[2] < bounds1[0]
|| bounds2[3] > bounds1[1]
)
);
};
... View more
Feb 23, 2025
05:43 PM
Dynamic Corners isn't going to make much of a difference, at least not a difference that makes any sense mathematically.
... View more
Feb 23, 2025
05:07 AM
Next time, when you use the Image Trace feature, deselect the recently added "Group automatically" option. This will try to let parts cleverly belong to certain groups, i.e. have the mouth, ears, and nose, separately grouped, on top of a solid underlying black shape. So some red parts might belong to the one group, and others to another...
... View more
Feb 22, 2025
01:18 PM
Sadly greed by these companies. I’m a retired teacher. I know schools teach the Adobe programs in school. I hope they change because after school, these programs are unaffordable for the students. I’m still using an OLD CS photoshop and am fine. Illustrator isn’t the same. My nephew has paid for my current Illustrator. I need to learn Inkscape.
... View more
Feb 21, 2025
11:38 AM
In addition to what Doug rightly said, I believe the first step will be to rotate the image so you have the main lines (roughly, depending on the photo) vertical and horizontal including the bounding ones.
The approach will also depend on whether it is supposed to represent the appearance on the photo, which has been taken from a spot above the lower part of the roof, or represent a reproduction of the original floor plan with (many) right angles.
... View more
Feb 20, 2025
01:15 AM
SHe's pretty much doing what Mike wrote.
But you'd better use the group selection tool for it like others in the thread wrote.
... View more
Feb 19, 2025
03:58 PM
That's a nice-looking expensive candle.
... View more
Community Expert
in Photoshop ecosystem Discussions
Feb 19, 2025
08:34 AM
1 Upvote
Feb 19, 2025
08:34 AM
1 Upvote
This waterfall looks nice. 👍
... View more
Feb 19, 2025
05:16 AM
A print service will probably not print it on A3 paper, but much larger sizes.
It would be important that you research their file requirements and set up the layout that way.
... View more
Feb 19, 2025
02:58 AM
I have had this issue for so long and this has fixed it! Thankyou!
... View more
Feb 18, 2025
12:25 PM
xiandavis,
Now that is a surprising solution.
Thank you very much for sharing.
... View more
Feb 18, 2025
11:23 AM
No problem 😊 For further troubleshooting options, you could try scaling the "S" larger and smaller. It could just be what's showing on your monitor at certain zoom percentages, as you mentioned. Bringing the questionable letter(s) into more apps, might also show the letter(s) sharp/clear. Make sure you're viewing at 100% if you're not in a vector app, though. If you have a desktop printer nearby, you can always test print as well. Since it's still vector, you should be fine 😊
... View more
Feb 18, 2025
11:07 AM
Rachel,
You need to use the Delete Anchor Point Tool, the one with the -
You already knows what happens if you use the normal Anchor Point Tool while holding Shift, and it can be used for other purposes.
Without the Shift, the normal Anchor Point Tool works as the Delete Anchor Point Tool.
All when applied to an Anchor Point.
... View more
Feb 18, 2025
08:44 AM
Lut @ HOTEL KONFETTI no worries at all! and yes, great minds think alike! 🙌
... View more
Feb 17, 2025
10:06 PM
Yes, this way I have many points of view on this problem, but the big picture is already visible, it turns out that it is possible to have scripts for this problem.
... View more
Feb 17, 2025
08:24 PM
"Something for the weekend - Part 39 - A shave and a haircut!" suggests a classic grooming session to freshen up for the weekend. Treat yourself to a clean shave and for a polished, confident look. Perfect for relaxing or stepping out in style!
... View more
Feb 17, 2025
02:55 PM
I'm glad you could solve it!
... View more
Feb 17, 2025
10:31 AM
Is the values standards i can use in any situation ?
... View more
Feb 13, 2025
11:24 AM
I love you.
... View more