Insert image in Photoshop

Anyone, especially newbies, asking for help with Photoshop Scripting and Photoshop Automation - as opposed to those contributing to discussion about an aspect of Photoshop Scripting

Moderators: Tom, Kukurykus

phoenix
Posts: 7
Joined: Fri Apr 05, 2019 8:15 am

Insert image in Photoshop

Post by phoenix »

Hello,

is it possible to insert and position an icon (embedded in a script) in a photoshop document?

It doesn't matter how (temp-file, clipboard,etc.) it works - the main thing is that it works.

Code: Select all

#target photoshop

var icon = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00KIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u00F8\u00FF\u00FF\u00BF\u00A2\u00A2\u00C2\x7F\x1C\u0080\u00A0\x14\x13\x03e`T\u00FF\u00C0\u00EAg\u0081Px\u0092\x10\u0081\u00D45\u009A~F\u00D3\x0F\x05\u00E9\u0087\u0091\u00C2\u00F2\x0F\x00\x00\x00\u00FF\u00FF\x03\x00Lcx\u0099H\u00AC\u00D4\u00B5\x00\x00\x00\x00IEND\u00AEB`\u0082";

Any help is welcome. :)
User avatar
Kukurykus
Posts: 528
Joined: Mon Jul 25, 2016 12:36 pm

Re: Insert image in Photoshop

Post by Kukurykus »

Code: Select all

(win = new Window('dialog')).add('iconbutton', undefined, String("\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00KIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u00F8\u00FF\u00FF\u00BF\u00A2\u00A2\u00C2\x7F\x1C\u0080\u00A0\x14\x13\x03e`T\u00FF\u00C0\u00EAg\u0081Px\u0092\x10\u0081\u00D45\u009A~F\u00D3\x0F\x05\u00E9\u0087\u0091\u00C2\u00F2\x0F\x00\x00\x00\u00FF\u00FF\x03\x00Lcx\u0099H\u00AC\u00D4\u00B5\x00\x00\x00\x00IEND\u00AEB`\u0082")), win.show()
phoenix
Posts: 7
Joined: Fri Apr 05, 2019 8:15 am

Re: Insert image in Photoshop

Post by phoenix »

Thank you for your reply. :)

However, I don't want to display the icon in a window, but insert it into the active photoshop document (20px from top & 30px from left).

The reason for this is that I want to insert several different icons but only have one file (script). So no individual icon files and no additional folder for easier handling.
User avatar
Kukurykus
Posts: 528
Joined: Mon Jul 25, 2016 12:36 pm

Re: Insert image in Photoshop

Post by Kukurykus »

Honestly I wasn't sure what you exactly want so I shared a sample of 'something' to see how you're going to respond ;)

Code: Select all

icn = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00KIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u00F8\u00FF\u00FF\u00BF\u00A2\u00A2\u00C2\x7F\x1C\u0080\u00A0\x14\x13\x03e`T\u00FF\u00C0\u00EAg\u0081Px\u0092\x10\u0081\u00D45\u009A~F\u00D3\x0F\x05\u00E9\u0087\u0091\u00C2\u00F2\x0F\x00\x00\x00\u00FF\u00FF\x03\x00Lcx\u0099H\u00AC\u00D4\u00B5\x00\x00\x00\x00IEND\u00AEB`\u0082"
fle = File('~/desktop/png.png'), fle.encoding = 'binary', fle.open('w'), fle.write(icn), fle.close(), preferences.rulerUnits = Units.PIXELS, sTT = stringIDToTypeID
documents.add(500, 500, 72).selection.select([[30, 20], [51, 20], [51, 41], [30, 41]]), (dsc = new ActionDescriptor()).putPath(sTT('null'), fle)
dsc.putEnumerated(sTT('freeTransformCenterState'), sTT('quadCenterState'),
sTT('QCSAverage')), executeAction(sTT('placeEvent'), dsc), fle.remove()
Ps. script creates 500 px * 500 px document with 72 DPI, then 21 * 21 selection square close to left top corner, finally to place the saved png file.
phoenix
Posts: 7
Joined: Fri Apr 05, 2019 8:15 am

Re: Insert image in Photoshop

Post by phoenix »

Wow, it works :)

Not exactly what I need, but I'm sure I can fix it to my needs.

Many thanks for your help :)
User avatar
Kukurykus
Posts: 528
Joined: Mon Jul 25, 2016 12:36 pm

Re: Insert image in Photoshop

Post by Kukurykus »

That's true - I didn't want to make it complex by calculations and extra code, so I used alternate but simple method to get the same.
phoenix
Posts: 7
Joined: Fri Apr 05, 2019 8:15 am

Re: Insert image in Photoshop

Post by phoenix »

After a few hours of copying, pasting and editing, i'm really frustrated and need some help (noob)...

I just want to place the 5 icons under each other at different distances, but there is a bug somewhere (I've tested 80-100 variations and it never works as it should)

Code: Select all

#target photoshop

preferences.rulerUnits = Units.PIXELS
tmp=Folder.temp


icn1 = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x01\x1BiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00<?xpacket begin=\"\u00EF\u00BB\u00BF\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"XMP Core 5.1.2\">\n <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n  <rdf:Description rdf:about=\"\"/>\n </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"r\"?>1\u00A8qi\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00HIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u00F8\u00FF\u00FF\u00BF\u00A2\u00A2\u00C2\x7F\x1C\u0080\u00A0\x14\x13\x03e`T\u00FF\u00A8\u00FEQ\u00FDCW?\x0B\u0084\u00C2S\x04\u00E1/\u009D\x18),\u00FF\x00\x00\x00\x00\u00FF\u00FF\x03\x00\u00AF\u008A@\u00DFM8\u0092\u0083\x00\x00\x00\x00IEND\u00AEB`\u0082";

icn2 = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x01\x1BiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00<?xpacket begin=\"\u00EF\u00BB\u00BF\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"XMP Core 5.1.2\">\n <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n  <rdf:Description rdf:about=\"\"/>\n </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"r\"?>1\u00A8qi\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00CIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u0081\u00B3H\u00D5\f\u00B1\u0095\u0089\u008120\u00AA\x7F`\u00F5\u00B3 G&\u00F9\u00FAG\u00D3\u00CFh\u00FA!\x0B0RX\u00FE\x01\x00\x00\x00\u00FF\u00FF\x03\x00\u00FF\x18\x0F\u00F7\u00E2\u00A5\x1E\x0F\x00\x00\x00\x00IEND\u00AEB`\u0082";

icn3 = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x01\x1BiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00<?xpacket begin=\"\u00EF\u00BB\u00BF\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"XMP Core 5.1.2\">\n <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n  <rdf:Description rdf:about=\"\"/>\n </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"r\"?>1\u00A8qi\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00EIDATx\u00DA\u00EC\u00D4\u00B1\r\x00 \f\x03A\x071\b\u00C9\u00FE3\u00C1(OM\u0087H\u0085\u0094/-]k\x03\u0094\u00A8K\u008A\u00F07<\u00E7\x12\u00E0>8\u00BB_\u009Ar\u0095/_\u00FE_o@\u00E6\x7F,\u00F9\x7F\x1B\x00\x00\u00FF\u00FF\x03\x00\u00A1\u008DCt\u00DD\u0091{\x0F\x00\x00\x00\x00IEND\u00AEB`\u0082";

icn4 = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x01\x1BiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00<?xpacket begin=\"\u00EF\u00BB\u00BF\" id=\"W5M0MpCehiHzreSzNTczkc9d\"?>\n<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"XMP Core 5.1.2\">\n <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n  <rdf:Description rdf:about=\"\"/>\n </rdf:RDF>\n</x:xmpmeta>\n<?xpacket end=\"r\"?>1\u00A8qi\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00BIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u0081\u00B3H\u00D5\f\u00B1\u0095\u0089\u008120\u00D4\u00F5\u00B3 \x07\x06\u00F9\u00FAG\u00C3\x7F4\u00FCGd\u00F83RX\u00FE\x01\x00\x00\x00\u00FF\u00FF\x03\x00p\u0099\x13`\u0095\u00B6Q\u00E8\x00\x00\x00\x00IEND\u00AEB`\u0082";

icn5 = "\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x019iCCPPhotoshop ICC profile\x00\x00x\u00DA\u00AD\u0091\u00B1J\u00C3P\x14\u0086\u00BF\x1BE\u00C5\u00A1V\b\u00E2\u00E0p'QPl\u00D5\u00C1\u008CI[\u008A X\u00ABC\u0092\u00ADIC\u0095\u00D2$\u00DC\u00DC\u00AA}\bG\u00B7\x0E.\u00EE>\u0081\u0093\u00A3\u00E0\u00A0\u00F8\x04\u00BE\u0081\u00E2\u00D4\u00C1!Hp\x12\u00C1o\u00FA\u00CE\u00CF\u00E1p\u00E0\x07\u00A3b\u00D7\u009D\u0086Q\u0086A\u00ACU\u00BB\u00E9H\u00D7\u00F3\u00E5\u00EC\x133L\x01@'\u00CCR\u00BB\u00D5:\x00\u0088\u00938\u00E2'\x02>_\x11\x00\u00CF\u009Bv\u00DDi\u00F07\u00E6\u00C3Ti`\x02lw\u00A3,\x04Q\x01\u00FA\x17:\u00D5 \u00C6\u0080\x19\u00F4S\r\u00E2\x0E0\u00D5I\u00BB\x06\u00E2\x01(\u00F5r\x7F\x01JA\u00EEo@I\u00B9\u009E\x0F\u00E2\x030{\u00AE\u00E7\u00831\x07\u0098A\u00EE+\u0080\u00A9\u00A3K\rPK\u00D2\u0091:\u00EB\u009DjY\u00B5,K\u00DA\u00DD$\u0088\u00E4\u00F1(\u00D3\u00D1 \u0093\u00FBq\u0098\u00A84Q\x1D\x1Du\u0081\u00FC?\x00\x16\u00F3\u00C5v\u00D3\u0091kU\u00CB\u00DA[\u00E7\u009Fq=_\u00E6\u00F6~\u0084\x00\u00C4\u00D2c\u0091\x15\u0084Cu\u00FE\u00DD\u0085\u00B1\u00F3\u00FB\\\u00DC\x18/\u00C3\u00E1-LO\u008Al\u00F7\nn6`\u00E1\u00BA\u00C8V\u00ABP\u00DE\u0082\u00FB\u00F1\x17\u00C2\u00B3O\u00FE\x1C\t\u00B3'\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E8\x00\x00R\b\x00\x01\x15X\x00\x00:\u0097\x00\x00\x17o\u00D7Z\x1F\u0090\x00\x00\x00KIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u00F8\u00FF\u00FF\u00BF\u00A2\u00A2\u00C2\x7F\x1C\u0080\u00A0\x14\x13\x03e`T\u00FF\u00C0\u00EAg\u0081Px\u0092\x10\u0081\u00D45\u009A~F\u00D3\x0F\x05\u00E9\u0087\u0091\u00C2\u00F2\x0F\x00\x00\x00\u00FF\u00FF\x03\x00Lcx\u0099H\u00AC\u00D4\u00B5\x00\x00\x00\x00IEND\u00AEB`\u0082";

var icn = [icn1,icn2,icn3,icn4,icn5] // icon image
for (var j = 0; j < icn.length; j++) {
var ifn = ["icon1","icon2","icon4","icon4","icon5"]; // icon filename
for (var i = 0; i < ifn.length; i++) {
var X = 20;
var Y = [20,50,80,180,210]  // Y position
var YLen = Y.length;
for (var k = 0; k < YLen; k++) {

fle = File(tmp + "/" + ifn[i] + '.png'), alert(fle), fle.encoding = 'binary', fle.open('w'), fle.write(icn[j]), fle.close(), sTT = stringIDToTypeID,
(dsc = new ActionDescriptor()).putPath(sTT('null'), fle), executeAction(sTT('placeEvent'), dsc), fle.remove(), aL=activeDocument.activeLayer, MLT(aL,X,Y[k])
}
}
}

function MLT(aL,X,Y) {
  var pos = aL.bounds;
  pos[0] = X - pos[0];
  pos[1] = Y - pos[1];
  aL.translate(-pos[0],-pos[1]);
}
User avatar
Kukurykus
Posts: 528
Joined: Mon Jul 25, 2016 12:36 pm

Re: Insert image in Photoshop

Post by Kukurykus »

If you want to put only 5 icons use one loop (instead of three). You don't need more instances of once used icon, do you?
phoenix
Posts: 7
Joined: Fri Apr 05, 2019 8:15 am

Re: Insert image in Photoshop

Post by phoenix »

I want to have every of the 5 different icons at the active document at individual Y positions (x is always the same position). And it would also be nice if the variable of the icons (icn1...icn5) differed from the file names (icon1...icon5). So I used a loop for that as well. However, this is currently not necessary.

It may sound easy to you, but it drives me crazy (I hate loops) :mrgreen:
User avatar
Kukurykus
Posts: 528
Joined: Mon Jul 25, 2016 12:36 pm

Re: Insert image in Photoshop

Post by Kukurykus »

Code: Select all

icns = [
	"\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E9\x00\x00u0\x00\x00\u00EA`\x00\x00:\u0098\x00\x00\x17o\u0092_\u00C5F\x00\x00\x00KIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u00F8\u00FF\u00FF\u00BF\u00A2\u00A2\u00C2\x7F\x1C\u0080\u00A0\x14\x13\x03e`T\u00FF\u00C0\u00EAg\u0081Px\u0092\x10\u0081\u00D45\u009A~F\u00D3\x0F\x05\u00E9\u0087\u0091\u00C2\u00F2\x0F\x00\x00\x00\u00FF\u00FF\x03\x00Lcx\u0099H\u00AC\u00D4\u00B5\x00\x00\x00\x00IEND\u00AEB`\u0082",
	"\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E9\x00\x00u0\x00\x00\u00EA`\x00\x00:\u0098\x00\x00\x17o\u0092_\u00C5F\x00\x00\x00CIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u0081\u00B3H\u00D5\f\u00B1\u0095\u0089\u008120\u00AA\x7F`\u00F5\u00B3 G&\u00F9\u00FAG\u00D3\u00CFh\u00FA!\x0B0RX\u00FE\x01\x00\x00\x00\u00FF\u00FF\x03\x00\u00FF\x18\x0F\u00F7\u00E2\u00A5\x1E\x0F\x00\x00\x00\x00IEND\u00AEB`\u0082",
	"\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E9\x00\x00u0\x00\x00\u00EA`\x00\x00:\u0098\x00\x00\x17o\u0092_\u00C5F\x00\x00\x00EIDATx\u00DA\u00EC\u00D4\u00B1\r\x00 \f\x03A\x071\b\u00C9\u00FE3\u00C1(OM\u0087H\u0085\u0094/-]k\x03\u0094\u00A8K\u008A\u00F07<\u00E7\x12\u00E0>8\u00BB_\u009Ar\u0095/_\u00FE_o@\u00E6\x7F,\u00F9\x7F\x1B\x00\x00\u00FF\u00FF\x03\x00\u00A1\u008DCt\u00DD\u0091{\x0F\x00\x00\x00\x00IEND\u00AEB`\u0082",
	"\u0089PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\x15\x00\x00\x00\x15\b\x02\x00\x00\x00&u2\u00C1\x00\x00\x00\tpHYs\x00\x00\x0B\x13\x00\x00\x0B\x13\x01\x00\u009A\u009C\x18\x00\x00\x00 cHRM\x00\x00z%\x00\x00\u0080\u0083\x00\x00\u00F9\u00FF\x00\x00\u0080\u00E9\x00\x00u0\x00\x00\u00EA`\x00\x00:\u0098\x00\x00\x17o\u0092_\u00C5F\x00\x00\x00BIDATx\u00DAb\u00FC\u00FF\u00FF?\x03\x05\u0080\u0085\u0081\u0081AII\u0091<\u00CD\u00F7\u00EE\u00DDg\u0081\u00B3H\u00D5\f\u00B1\u0095\u0089\u008120\u00D4\u00F5\u00B3 \x07\x06\u00F9\u00FAG\u00C3\x7F4\u00FCGd\u00F83RX\u00FE\x01\x00\x00\x00\u00FF\u00FF\x03\x00p\u0099\x13`\u0095\u00B6Q\u00E8\x00\x00\x00\x00IEND\u00AEB`\u0082"
]

dcmnt = documents.add(500, 500, 72), preferences.rulerUnits = Units.PIXELS, sTT = stringIDToTypeID; lngth = icns.length, x1 = 0, x2 = 21; while(icn = icns.shift()) {
	fle = File('~/desktop/icns' + (Math.abs(icns.length - lngth)) + '.png'), fle.encoding = 'binary', fle.open('w'), fle.write(icn), fle.close()
	dcmnt.selection.select([[30, x1 += 20], [51, x1], [51, x2 += 20], [30, x2]]), (dsc = new ActionDescriptor()).putPath(sTT('null'), fle)
	dsc.putEnumerated(sTT('freeTransformCenterState'), sTT('quadCenterState'),
	sTT('QCSAverage')), executeAction(sTT('placeEvent'), dsc)
}