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.
 
 
 

118 lignes
2.5 KiB

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