画像の破損チェックを行うAppleScriptです。
昔、Mac OS X 10.3や10.4の時代には、破損画像をオープンするとアプリケーションごとクラッシュすることがありました。そのため、アプリケーションのクラッシュを伴うような「破損画像」のチェックを行うことには意味がありました。
その後、Mac OS XからOS Xへと名称が変更になったあたりで、共通の基盤を持っているiOSのクラッシュ対策がフィードバックされたためか、こうした破損画像に対する耐性が高まりました(OS X 10.7ぐらい?)。
画像の破損は、①オープン時にワーニングメッセージが出るレベル、②画像として読み込んでムービー書き出し時に問題の出るレベル、③そもそも全破損していてオープンすらできないレベル、に個人的に区分けしており、本ルーチンでは③に対してエラーを出しつつも、①と②についてはOSの進歩とともに問題になりにくくなっている(エラー検出できない)状態です。
AppleScriptの穴Blogアーカイブ本Vol.5において、「EPSファイルの破損チェック(高速版)」を収録しています。
AppleScript名:画像の破損チェック |
— Created 2016-08-24 by Takaaki Naganoya — 2016 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "AppKit" set aPath to (choose file of type {"public.image"}) set aRes to confirmImage(aPath) of me –画像の破損チェック(can not open画像はチェックOK) 破損時にはfalseを返す on confirmImage(aPath) set aType to type identifier of (info for aPath) set aPOSIX to POSIX path of aPath set aImage to current application’s NSImage’s alloc()’s initWithContentsOfFile:aPOSIX if aImage = missing value then return {false, aType, 1} set aRes to aImage’s isValid() return {aRes, aType, 2} end confirmImage |
More from my site
(Visited 116 times, 1 visits today)