<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sips | AYNiMac</title>
	<atom:link href="https://www.aynimac.com/tag/sips/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.aynimac.com</link>
	<description>All You Need is Mac.</description>
	<lastBuildDate>Sun, 16 Feb 2025 09:54:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.aynimac.com/wp/wp-content/uploads/2024/12/cropped-newFavicon-32x32.png</url>
	<title>sips | AYNiMac</title>
	<link>https://www.aynimac.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>画像に外枠を付けるスクリプトの件の続き</title>
		<link>https://www.aynimac.com/2025/02/16/1176/</link>
		
		<dc:creator><![CDATA[nakamuxu (管理人)]]></dc:creator>
		<pubDate>Sun, 16 Feb 2025 09:51:38 +0000</pubDate>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[サイト運営]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[sips]]></category>
		<guid isPermaLink="false">https://www.aynimac.com/?p=1176</guid>

					<description><![CDATA[前回の画像に外枠・縁取りを付ける、外周に枠線を引くの続きです。 目次 気になること【問題】バックアップが新しい名前になり、元ファイルは同名のまま改変保存されること【問題】バックアップのファイルの拡張子が機能しなくなること [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>前回の<a href="https://www.aynimac.com/2025/02/10/1161/">画像に外枠・縁取りを付ける、外周に枠線を引く</a>の続きです。</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img fetchpriority="high" decoding="async" width="1024" height="1024" src="https://www.aynimac.com/wp/wp-content/uploads/2025/02/droplet_icon.png" alt="" class="wp-image-1177" style="width:404px;height:auto" srcset="https://www.aynimac.com/wp/wp-content/uploads/2025/02/droplet_icon.png 1024w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/droplet_icon-300x300.png 300w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/droplet_icon-150x150.png 150w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/droplet_icon-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">気になること</a><ol><li><a href="#toc2" tabindex="0">【問題】バックアップが新しい名前になり、元ファイルは同名のまま改変保存されること</a></li><li><a href="#toc3" tabindex="0">【問題】バックアップのファイルの拡張子が機能しなくなること</a></li><li><a href="#toc4" tabindex="0">解決策</a></li></ol></li><li><a href="#toc5" tabindex="0">余談</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">気になること</span></h2>



<p>その前回に書いた通りありがたくスクリプトを使わせていただいてます。環境は<code>macOS Sequoia 15.3.1</code>です。<br>ただ、ちょっと気になる点が出てきてしまいました。</p>



<h3 class="wp-block-heading"><span id="toc2">【問題】バックアップが新しい名前になり、元ファイルは同名のまま改変保存されること</span></h3>



<p>これはTerminalとかコマンドラインの世界の流儀としては問題ないのかもしれないです。しかし、俺としては外枠を描いた画像は新しい名前で保存されて欲しいし、バックアップは元の名前のままがいいのですよ。現在あるファイルはそのままに、編集後は「名前をつけて保存」しておきたいということなのです。古くから染み付いた習性、<kbd>Cmd</kbd> + <kbd>Shift</kbd> + <kbd>S</kbd>ですわ。最近では「名前をつけて保存」じゃなくて「複製」になってきててそれはそれで微妙な違和感はあるんだけれど考え方としては同じです。</p>



<h3 class="wp-block-heading"><span id="toc3">【問題】バックアップのファイルの拡張子が機能しなくなること</span></h3>



<p>追加された「.bak」によって拡張子が変更されることとなりアイコンが変わってしまったりWクリックで開けなくなったりします。これもなんとかなるといいな…。</p>



<p>ということで調べてみました。<br>結論から言うと下記のコードでいけました。</p>



<h3 class="wp-block-heading"><span id="toc4">解決策</span></h3>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#575279;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#faf4ed"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#57527933" stroke="#5752794d" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" data-code="--- Setting ---
property addStr : &quot;_b&quot;
------------------


use AppleScript version &quot;2.4&quot;
use scripting additions
use framework &quot;Foundation&quot;

on open droppedFiles
	repeat with aFile in droppedFiles
		set filePath to POSIX path of aFile
		set pathString to (current application's NSString's stringWithString:filePath)
		set ext to (pathString's pathExtension()) as string --dotなし
		set baseFileName to (pathString's stringByDeletingPathExtension()) as string
		set newPath to baseFileName &amp; addStr &amp; &quot;.&quot; &amp; ext
		
		do shell script &quot;cp &quot; &amp; quoted form of filePath &amp; &quot; &quot; &amp; quoted form of newPath
		-- Add a 1px gray border using ImageMagick
		do shell script &quot;/opt/homebrew/bin/convert &quot; &amp; quoted form of filePath &amp; &quot; -bordercolor '#696969' -border 1x1 &quot; &amp; quoted form of newPath
	end repeat
end open" style="color:#575279;display:none" aria-label="Copy" class="code-block-pro-copy-button"><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki rose-pine-dawn" style="background-color: #faf4ed" tabindex="0"><code><span class="line"><span style="color: #797593; font-style: italic">--</span><span style="color: #9893A5; font-style: italic">- Setting ---</span></span>
<span class="line"><span style="color: #286983">property</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">addStr</span><span style="color: #575279"> </span><span style="color: #797593">:</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot;_b&quot;</span></span>
<span class="line"><span style="color: #797593; font-style: italic">--</span><span style="color: #9893A5; font-style: italic">----------------</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #575279">use </span><span style="color: #286983">AppleScript</span><span style="color: #575279"> </span><span style="color: #286983">version</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot;2.4&quot;</span></span>
<span class="line"><span style="color: #575279">use scripting additions</span></span>
<span class="line"><span style="color: #575279">use framework </span><span style="color: #EA9D34">&quot;Foundation&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #286983">on</span><span style="color: #575279"> open droppedFiles</span></span>
<span class="line"><span style="color: #575279">	</span><span style="color: #286983">repeat</span><span style="color: #575279"> </span><span style="color: #286983">with</span><span style="color: #575279"> </span><span style="color: #907AA9; font-style: italic">aFile</span><span style="color: #575279"> </span><span style="color: #286983">in</span><span style="color: #575279"> droppedFiles</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #286983">set</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">filePath</span><span style="color: #575279"> </span><span style="color: #286983">to</span><span style="color: #575279"> </span><span style="color: #B4637A; font-style: italic">POSIX path</span><span style="color: #575279"> </span><span style="color: #286983">of</span><span style="color: #575279"> aFile</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #286983">set</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">pathString</span><span style="color: #575279"> </span><span style="color: #286983">to</span><span style="color: #575279"> </span><span style="color: #797593">(</span><span style="color: #286983">current application</span><span style="color: #575279">&#39;s NSString&#39;s stringWithString</span><span style="color: #797593">:</span><span style="color: #575279">filePath</span><span style="color: #797593">)</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #286983">set</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">ext</span><span style="color: #575279"> </span><span style="color: #286983">to</span><span style="color: #575279"> </span><span style="color: #797593">(</span><span style="color: #575279">pathString&#39;s pathExtension</span><span style="color: #797593">())</span><span style="color: #575279"> </span><span style="color: #286983">as</span><span style="color: #575279"> </span><span style="color: #56949F">string</span><span style="color: #575279"> </span><span style="color: #797593; font-style: italic">--</span><span style="color: #9893A5; font-style: italic">dotなし</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #286983">set</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">baseFileName</span><span style="color: #575279"> </span><span style="color: #286983">to</span><span style="color: #575279"> </span><span style="color: #797593">(</span><span style="color: #575279">pathString&#39;s stringByDeletingPathExtension</span><span style="color: #797593">())</span><span style="color: #575279"> </span><span style="color: #286983">as</span><span style="color: #575279"> </span><span style="color: #56949F">string</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #286983">set</span><span style="color: #575279"> </span><span style="color: #575279; font-style: italic">newPath</span><span style="color: #575279"> </span><span style="color: #286983">to</span><span style="color: #575279"> baseFileName </span><span style="color: #286983">&amp;</span><span style="color: #575279"> addStr </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot;.&quot;</span><span style="color: #575279"> </span><span style="color: #286983">&amp;</span><span style="color: #575279"> ext</span></span>
<span class="line"><span style="color: #575279">		</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #B4637A; font-style: italic">do shell script</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot;cp &quot;</span><span style="color: #575279"> </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #B4637A; font-style: italic">quoted form</span><span style="color: #575279"> </span><span style="color: #286983">of</span><span style="color: #575279"> filePath </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot; &quot;</span><span style="color: #575279"> </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #B4637A; font-style: italic">quoted form</span><span style="color: #575279"> </span><span style="color: #286983">of</span><span style="color: #575279"> newPath</span></span>
<span class="line"><span style="color: #797593">		</span><span style="color: #797593; font-style: italic">--</span><span style="color: #9893A5; font-style: italic"> Add a 1px gray border using ImageMagick</span></span>
<span class="line"><span style="color: #575279">		</span><span style="color: #B4637A; font-style: italic">do shell script</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot;/opt/homebrew/bin/convert &quot;</span><span style="color: #575279"> </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #B4637A; font-style: italic">quoted form</span><span style="color: #575279"> </span><span style="color: #286983">of</span><span style="color: #575279"> filePath </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #EA9D34">&quot; -bordercolor &#39;#696969&#39; -border 1x1 &quot;</span><span style="color: #575279"> </span><span style="color: #286983">&amp;</span><span style="color: #575279"> </span><span style="color: #B4637A; font-style: italic">quoted form</span><span style="color: #575279"> </span><span style="color: #286983">of</span><span style="color: #575279"> newPath</span></span>
<span class="line"><span style="color: #575279">	</span><span style="color: #286983">end repeat</span></span>
<span class="line"><span style="color: #286983">end</span><span style="color: #575279"> open</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#faf4ed;color:#625c88;font-size:12px;line-height:1;position:relative">AppleScript</span></div>



<p>ただし、遅いです…！</p>



<h2 class="wp-block-heading"><span id="toc5">余談</span></h2>



<p>以下、調べた過程や寄り道の話です。</p>



<p>まず元ファイルの拡張子を取得したいので「Applescript 拡張子 取得」あたりでググってみて「<a href="http://piyocast.com/as/archives/1922">指定ファイルの拡張子を取得する – AppleScriptの穴</a>」を発見。2018年の記事ですがもちろん現在でも通用します。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">

<a rel="noopener" href="http://piyocast.com/as/archives/1922" title="&#25351;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#25313;&#24373;&#23376;&#12434;&#21462;&#24471;&#12377;&#12427; &#8211; AppleScript&#12398;&#31348;" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fpiyocast.com%2Fas%2Farchives%2F1922?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">&#25351;&#23450;&#12501;&#12449;&#12452;&#12523;&#12398;&#25313;&#24373;&#23376;&#12434;&#21462;&#24471;&#12377;&#12427; &#8211; AppleScript&#12398;&#31348;</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=http://piyocast.com/as/archives/1922" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">piyocast.com</div></div></div></div></a>
</div>



<p>AppleScriptで扱うファイルパスはなんだかややこしくて分かりづらいのですけど、スクリプト内でファイルのフルパスを文字列として取得しているので、その最後のドットから末尾までを拡張子として取得するのがいいのかなと自分では思ってました。しかしもっとスマートな方法が書かれてました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>FinderやSystem Eventsの機能を用いて拡張子を取得するのが一番手軽ではあるのですが、macOS 10.14以降の環境ではこの程度でもアプリケーションの機能を呼び出すと認証ダイアログが（初回のみですが）表示されます。Cocoaの機能呼び出しが手軽にできるので、些細な処理でもよく呼び出して使っています（個人的に）。</p>
</blockquote>



<p>ふむふむ…って、「Cocoaの機能呼び出し」って何？ AppleScriptにそんな機能あったっけ？？</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>AppleScript名：指定ファイルの拡張子を取得する</p>
</blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>use&nbsp;AppleScript&nbsp;version&nbsp;&#8220;2.4&#8221;<br>use&nbsp;scripting additions<br>use&nbsp;framework&nbsp;&#8220;Foundation&#8221;</p>



<p>set&nbsp;a&nbsp;to&nbsp;choose file<br>set&nbsp;aPath&nbsp;to&nbsp;POSIX path&nbsp;of&nbsp;a<br>set&nbsp;pathString&nbsp;to&nbsp;current application’s&nbsp;NSString’s&nbsp;stringWithString:aPath<br>set&nbsp;newPath&nbsp;to&nbsp;(pathString’s&nbsp;pathExtension())&nbsp;as&nbsp;string<br>–&gt;　　&#8221;jpg&#8221;</p>
</blockquote>



<p>「NSString」「stringWithString」「pathExtension」とか自分的には懐かしい…。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="768" height="1024" src="https://www.aynimac.com/wp/wp-content/uploads/2025/02/IMG_7041-768x1024.jpg" alt="" class="wp-image-1178" style="width:472px;height:auto" srcset="https://www.aynimac.com/wp/wp-content/uploads/2025/02/IMG_7041-768x1024.jpg 768w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/IMG_7041-225x300.jpg 225w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/IMG_7041-1152x1536.jpg 1152w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/IMG_7041-1536x2048.jpg 1536w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/IMG_7041-scaled.jpg 1920w" sizes="(max-width: 768px) 100vw, 768px" /><figcaption class="wp-element-caption">つい書籍を探してしまった…。</figcaption></figure>



<p>で、こういうの出来たんだっけ？と確認すると、スクリプトエディタではmacOS 10.10（Yosemite 青白タンクじゃないよOSだよ)からできたとのこと。<a href="https://ja.wikipedia.org/wiki/OS_X_Yosemite" title="OS X Yosemite - Wikipedia">Wikipediaによると</a>Yosemiteのリリースは2014年10月17日。うむ〜、10年以上前か…。</p>



<p>この機能はAppleScriptObjC(ASOC)というらしいです。XCodeにAppleScriptで書けたのはなんとなく覚えているけどあれが原型だったらしいですね。<a href="https://ja.wikipedia.org/wiki/AppleScript#AppleScriptObjC%E6%A7%8B%E6%96%87" title="AppleScript - Wikipedia">Wikipediaの「AppleScript」内のAppleScriptObjC構文</a>が概要について結構詳しかったです。正直に言うと忘れてたのか知らなかったのかもわからなくなってますが、この機能はいいです。<br>ただし、体感できるぐらい<strong>もたつきます</strong>ね。スクリプトの短さを優先した結果だと前向きに行きます。あと、画像以外をドロップすると改変後の名前のファイルは作成されるのに中身はただのコピーですし、エラーも出ます。原則的に自分で使うものですから、これはいいでしょう。</p>



<figure class="wp-block-image aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="695" src="https://www.aynimac.com/wp/wp-content/uploads/2025/02/f466fb201a7c445f6ecd993e9527e5d6-1024x695.png" alt="" class="wp-image-1179" style="width:672px;height:auto" srcset="https://www.aynimac.com/wp/wp-content/uploads/2025/02/f466fb201a7c445f6ecd993e9527e5d6-1024x695.png 1024w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/f466fb201a7c445f6ecd993e9527e5d6-300x204.png 300w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/f466fb201a7c445f6ecd993e9527e5d6-768x521.png 768w, https://www.aynimac.com/wp/wp-content/uploads/2025/02/f466fb201a7c445f6ecd993e9527e5d6.png 1264w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>対策するなら拡張子のリストを持っておいてドロップされたファイルが含まれるのかをチェックする、とかなんでしょうか。</p>



<p>あと、ASOCの正規表現を使う方法もあるようです。</p>



<div class="wp-block-cocoon-blocks-blogcard blogcard-type bct-none">

<a rel="noopener" href="https://qiita.com/szk-3/items/4f63358eca91122993e2" title="Cocoaの機能を使って正規表現で文字列を置き換えるAppleScriptハンドラ - Qiita" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fqiita.com%2Fszk-3%2Fitems%2F4f63358eca91122993e2?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Cocoaの機能を使って正規表現で文字列を置き換えるAppleScriptハンドラ - Qiita</div><div class="blogcard-snippet external-blogcard-snippet">do shell scriptを使わないとできなかった正規表現の文字列置き換え AppleScript上でCocoaの機能を使えるようになった regexReplace.scpt use framework &quot;Foundation&quot; my ...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://qiita.com/szk-3/items/4f63358eca91122993e2" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">qiita.com</div></div></div></div></a>
</div>



<p>また、ImageMagickでなくてsipsを使ったらどうかという話もありますが、元記事の<a href="https://note.com/pcms/n/na796f6034495">画像に枠線を付けるプログラムをマックで作る</a>でも書かれている通り、作者さんの環境では</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>日本語ファイル名を扱えない</p>
</blockquote>



<p>ことで断念されたようです。<br>自分の環境（macOS Sequoia 15.3.1）ではこの問題は確認されませんでしたが、<a href="https://www.digitalboo.net/post/13612/sips">sips 画像編集のコマンド – DigitalBoo</a>を拝見するに過去にはかなり微妙なバージョンもあったようで、そのあたりも考慮するとImageMagickを使用するメリットのほうが上回るかもしれないなと感じてます。</p>



<p>sipsについての参考情報もリストアップしておきます。</p>



<ul class="wp-block-list">
<li><a href="https://qiita.com/livlea/items/53b755e5067d4ebc5b43">Macのターミナルで簡単に画像処理できるsipsの使い方 #MacOSX &#8211; Qiita</a></li>



<li><a href="https://www.rasukarusan.com/entry/2021/07/07/140521">Mac専用sipsコマンドで、画像に枠線をサクッとつける &#8211; ハイパーマッスルエンジニア</a></li>



<li><a href="https://www.digitalboo.net/post/13612/sips">sips 画像編集のコマンド – DigitalBoo</a></li>



<li><a href="https://note.com/t_kisuke/n/n421e8d134904">【効率化】 一括で写真にフレームを付けてくれるアプリを作ってみた（Macのみ対応）｜KISUKE</a></li>
</ul>



<p>以上です。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
