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.
 
 
 

109 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. var raster = layer.pageItems[0]
  44. var pluginRef = raster.trace()
  45. var trace = pluginRef.tracing
  46. var options = trace.tracingOptions
  47. options.tracingMode = TracingModeType.TRACINGMODEBLACKANDWHITE
  48. options.threshold = item.threshold
  49. options.ignoreWhite = true
  50. options.noiseFidelity = 10
  51. options.corderFidelity = 0.5
  52. options.pathFidelity = 75
  53. options.tracingMethod = TracingMethodType.TRACINGMETHODABUTTING
  54. options.snapCurvesToLines = false
  55. var traced = trace.expandTracing();
  56. traces.push(traced);
  57. var toSet = []
  58. for (var j=0; j < traced.pathItems.length; j++) {
  59. toSet.push(traced.pathItems[j])
  60. }
  61. for (var j=0; j < traced.compoundPathItems.length; j++) {
  62. for (var k=0; k < traced.compoundPathItems[j].pathItems.length; k++)
  63. {
  64. toSet.push(traced.compoundPathItems[j].pathItems[k])
  65. }
  66. }
  67. for (var j=0; j< toSet.length; j++) {
  68. var thing = toSet[j]
  69. var color = new RGBColor()
  70. color.red = item.color
  71. color.green = item.color
  72. color.blue = item.color
  73. thing.fillColor = color
  74. }
  75. }
  76. for (var i = 0; i < traces.length; i++) {
  77. traces[i].selected = true
  78. }
  79. app.executeMenuCommand("group")
  80. doc.fitArtboardToSelectedArt(0)
  81. var parts = doc.name.slice(0, -4).split("-")
  82. var filename = parts.slice(1).join("-")
  83. var filepath = "/Users/crux/furry/macrovision/media/characters/" + parts[0] + "/" + filename
  84. doc.exportFile(File(filepath), ExportType.SVG)