less copy protection, more size visualization
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 

113 lignes
2.4 KiB

  1. var doc = app.activeDocument;
  2. var layers = doc.layers;
  3. var traces = []
  4. settings = [
  5. {
  6. name: "Light",
  7. color: 0x4d,
  8. threshold: 128
  9. },
  10. {
  11. name: "Medium",
  12. color: 0x33,
  13. threshold: 96
  14. },
  15. {
  16. name: "Dark",
  17. color: 0x1a,
  18. threshold: 64
  19. },
  20. {
  21. name: "Black",
  22. color: 0x00,
  23. threshold: 128
  24. }
  25. ]
  26. for (var j=0; j<doc.layers.length; j++) {
  27. var candidate = doc.layers[j];
  28. if (candidate.name.indexOf("Background") >= 0) {
  29. candidate.remove()
  30. break
  31. }
  32. }
  33. for (var i=0; i<settings.length; i++) {
  34. var item = settings[i];
  35. var layer = null;
  36. for (var j=0; j<doc.layers.length; j++) {
  37. var candidate = doc.layers[j];
  38. if (candidate.name.indexOf(item.name) >= 0) {
  39. layer = candidate;
  40. break;
  41. }
  42. }
  43. if (layer === null) {
  44. continue;
  45. }
  46. var raster = layer.pageItems[0]
  47. var pluginRef = raster.trace()
  48. var trace = pluginRef.tracing
  49. var options = trace.tracingOptions
  50. options.tracingMode = TracingModeType.TRACINGMODEBLACKANDWHITE
  51. options.threshold = item.threshold
  52. options.ignoreWhite = true
  53. options.noiseFidelity = 10
  54. options.corderFidelity = 0.5
  55. options.pathFidelity = 75
  56. options.tracingMethod = TracingMethodType.TRACINGMETHODABUTTING
  57. options.snapCurvesToLines = false
  58. var traced = trace.expandTracing();
  59. traces.push(traced);
  60. var toSet = []
  61. for (var j=0; j < traced.pathItems.length; j++) {
  62. toSet.push(traced.pathItems[j])
  63. }
  64. for (var j=0; j < traced.compoundPathItems.length; j++) {
  65. for (var k=0; k < traced.compoundPathItems[j].pathItems.length; k++)
  66. {
  67. toSet.push(traced.compoundPathItems[j].pathItems[k])
  68. }
  69. }
  70. for (var j=0; j< toSet.length; j++) {
  71. var thing = toSet[j]
  72. var color = new RGBColor()
  73. color.red = item.color
  74. color.green = item.color
  75. color.blue = item.color
  76. thing.fillColor = color
  77. }
  78. }
  79. for (var i = 0; i < traces.length; i++) {
  80. traces[i].selected = true
  81. }
  82. app.executeMenuCommand("group")
  83. doc.fitArtboardToSelectedArt(0)
  84. var parts = doc.name.slice(0, -4).split("_")
  85. var filename = parts[1]
  86. var filepath = "/Users/crux/furry/macrovision/media/characters/" + parts[0] + "/" + filename
  87. doc.exportFile(File(filepath), ExportType.SVG)