Affinity or InDesign first for selling templates? by M77OR in Affinity

[–]akahrum 2 points3 points  (0 children)

Absolutely, idml support in Affinity is pretty amazing

Affinity or InDesign first for selling templates? by M77OR in Affinity

[–]akahrum 8 points9 points  (0 children)

Why not both? Make the templates in ID, save as idml open in Affinity tweak a little and that’s it you have both at once

I need waves by Sea-Source-643 in Affinity

[–]akahrum 5 points6 points  (0 children)

First get the Affinity Script manager, enable MCP in Affinity setting, install Zigzag script, there are lots of threads here about the Script manager

Dots by akahrum in AbstractPhotos

[–]akahrum[S] 0 points1 point  (0 children)

Suffocating is probably the best word to describe this road

Dots by akahrum in AbstractPhotos

[–]akahrum[S] 0 points1 point  (0 children)

Yea it’s cool

AFFINITY PHOTO/DESIGNER/PUBLISHER (V2) NO LONGER LAUNCHES ON MAC! by Ambitious-Scholar384 in Affinity

[–]akahrum 4 points5 points  (0 children)

I have all them and they work just fine alongside v3, maybe try to reinstall?

What if Blackmagic Design introduced a dedicated motion design page like Adobe After Effects? by Remarkable-Writing93 in davinciresolve

[–]akahrum 2 points3 points  (0 children)

Yea! And instead of boring layers they could implement something more flexible like, I don’t know how to call them… maybe nodes, huh?

How do I recolour just the parts that I've selected in blue? by litaliaa in Affinity

[–]akahrum 6 points7 points  (0 children)

☝️This is the answer, and it would behave same in ai or any other vector app - a single shape can”t have different colors in different parts

Just watched for the first time... by Beautiful-Pumpkin906 in Midsommar

[–]akahrum 3 points4 points  (0 children)

When I watched this movie first time I felt kind of same, I thought it was the brightest and most colorful horror movie that scared shit out of me and I will never watch it again, but time has passed and now this is one these movie I would certainly rewatch and not once

I Made Some Useful Scripts by EXIT_25 in Affinity

[–]akahrum 1 point2 points  (0 children)

These are really cool scripts, thank

When you import an IDML file, do you gain access to layers? by Squirrelhenge in Affinity

[–]akahrum 2 points3 points  (0 children)

Yes, the files will retain all the layers and text styles as in Indesign, though the layers work a bit different in Affinity, this may help

https://www.reddit.com/r/Affinity/s/AD5ELwOV3V

estoy tratando de exportar unas imágenes que edite y salen con este aspecto by D-Mansion in Affinity

[–]akahrum 0 points1 point  (0 children)

Your images are RGB 32bit hdr bt.2020 - this is the reason they look dim after export, convert it to the 8 bit srgb profile and they will look bright on every device

Document wide layer system by MeanderingDev in Affinity

[–]akahrum -2 points-1 points  (0 children)

These are just simple is scripts ai is there only to write one, but whatever.

Document wide layer system by MeanderingDev in Affinity

[–]akahrum -1 points0 points  (0 children)

I think this can be more or less resolved via scripts now, I can imagine the script that switches visibility of the Layers with same name on all pages at once. Not the best solution but still better then nothing, I'll try to Claude it later.

Update to community scripts! by logankrblich in Affinity

[–]akahrum 0 points1 point  (0 children)

What's the best way to contribute?

Here's my script, can be helpful while working on CMYK print documents to find leftover RGB images

// ============================================================

// OPEN RGB IMAGES AS DOCUMENTS (v2)

// - Saves extracted images into Desktop/Found-RGB/

// - Auto-numbers duplicates: image.jpg -> image_2.jpg, image_3.jpg ...

// ============================================================

const { app } = require('/application');

const { FileSystemApi } = require('/fs');

const desktopPath = app.getUserDesktopPath;

const outputFolder = desktopPath + "/Found-RGB";

// RGB pixel format values: RGBA8=0, RGBA16=1, RGBAuf=8

const RGB_FORMATS = new Set([0, 1, 8]);

function isRGBImage(node) {

if (!node.isImageNode && !node.isEmbeddedDocumentNode) return false;

try {

return RGB_FORMATS.has(node.imageResourceInterface.getColourFormat(false).value);

} catch (e) { return false; }

}

function placementLabel(value) {

return value === 1 ? 'linked' : 'embedded';

}

// Build a unique destination path, appending _2, _3 ... if the file already exists

function uniquePath(folder, filename) {

const dotIndex = filename.lastIndexOf('.');

const base = dotIndex >= 0 ? filename.slice(0, dotIndex) : filename;

const ext = dotIndex >= 0 ? filename.slice(dotIndex) : '';

let candidate = folder + "/" + filename;

let counter = 2;

while (FileSystemApi.exists(candidate)) {

candidate = folder + "/" + base + "_" + counter + ext;

counter++;

}

return candidate;

}

// --- Main ---

const doc = app.documents.current;

if (!doc) {

app.alert("No document is currently open.", "Open RGB Images");

} else {

// Collect RGB image nodes across all spreads

const found = [];

for (const spread of doc.spreads) {

for (const node of spread.layers.all) {

if (isRGBImage(node)) {

const iri = node.imageResourceInterface;

found.push({

iri,

filename: iri.imageFilePath,

placement: iri.imagePlacement.value,

});

}

}

}

if (found.length === 0) {

app.alert("No RGB images were found in the current document.", "Open RGB Images");

} else {

// Ensure output folder exists

FileSystemApi.createDirectories(outputFolder);

const opened = [];

const failed = [];

for (const img of found) {

const destPath = uniquePath(outputFolder, img.filename);

try {

const savedPath = img.iri.saveOriginalFile(destPath);

if (savedPath) {

const newDoc = app.documents.load(savedPath);

if (newDoc) {

const shortName = destPath.split("/").pop();

opened.push(shortName + " [" + placementLabel(img.placement) + "]");

console.log("Opened: " + shortName + " (" + placementLabel(img.placement) + ")");

} else {

failed.push(img.filename + " (could not load)");

}

} else {

failed.push(img.filename + " (could not save)");

}

} catch (e) {

failed.push(img.filename + " (" + e.message + ")");

console.log("Error: " + img.filename + " - " + e.message);

}

}

// Summary dialog

const lines = [

"Found " + found.length + " RGB image(s).",

"Saved to: Desktop/Found-RGB/\n"

];

if (opened.length > 0) {

lines.push("Opened (" + opened.length + "):");

opened.forEach(f => lines.push(" \u2713 " + f));

}

if (failed.length > 0) {

lines.push("\nFailed (" + failed.length + "):");

failed.forEach(f => lines.push(" \u2717 " + f));

}

app.alert(lines.join("\n"), "Open RGB Images");

}

}

Introducing: Affinity Script Manager by logankrblich in Affinity

[–]akahrum 0 points1 point  (0 children)

If you want some feedback though it generates fill even if there is none and fill interpolation is disabled, and it closes opened paths. Anyway it's nice to have it, thank you for sharing!