Search code examples
adobe-xd

Plugin ReferenceError: Color is not defined in


First plugin with XD and i can't seem to create a instance of class Color.

Their documentation doesn't show any examples and any that i find in other examples just shows new Color() and that i don't have to perform any require.

https://adobexdplatform.com/plugin-docs/reference/Color.html

Plugin ReferenceError: Color is not defined
    at exportToBmpFunction (C:\Users\<useR>\AppData\Local\Packages\Adobe.CC.XD_adky2gkssdxte\LocalState\develop\BMP_Export\main.js:21:21)

What am i doing wrong?

async function exportToBmpFunction(selection) {

  if (selection.items.length == 0) {
    return;
  }

  // Generate PNG rendition of the selected node
  let application = require("application");
  let scenegraph = require("scenegraph");
  let fs = require("uxp").storage.localFileSystem;

  let shape = selection.items[0];
  let file = await fs.getFileForSaving('what.png', { types: ["png"] });
  let renditions = [{
    node: shape,
    outputFile: file,
    type: application.RenditionType.PNG,
    scale: 1,
    background: new Color('#FF00CD', 1)
  }];
  application.createRenditions(renditions).then(function(results) {
    // ...do something with outputFiles on disk...
  });
}

module.exports = {
  commands: {
    exportToBmp: exportToBmpFunction
  }
};

Solution

  • Turns out after digging through other classes in the same 'namespace' that their documentation is just flat out wrong in some places. This is what it should be.

      const Color = require("scenegraph").Color;
      let color = new Color('#FF00CD');
    

    This happens to be in direct contradiction to examples of use of Color in the docs. Yay for freehanding code!