Mac」タグアーカイブ

WebP conversion @ Automator

[CGImageDestinationCreateWithURL webp] で検索。
以下は一年前に書かれたものだけど。

ios – “unsupported file format ‘org.webmproject.webp'” while saving CGImage in webp format – Stack Overflow

#!/usr/bin/env python3

from Quartz import *

src_type = CGImageSourceCopyTypeIdentifiers()
CFShow(src_type)
dest_type = CGImageDestinationCopyTypeIdentifiers()
CFShow(dest_type)

macOS 13 Ventura でも非サポートなんですね。
どうやら OS 頼りは現状無理っぽい。

しかたがない、Python や PHP を使う。
WebP を使うような人ならどちらかは入れているはず。
これでコマンドを作って Automator で呼び出しする方法を。

PHP: imagecreatefromjpeg – Manual

ココでは Python3 を使う、PHP でやる人は上記サンプルコードを参考に。
Python3 では Pillow(PIL) が必要、残念ながら HEIF は未対応。

pip install Pillow

いつのまにか pip3 でなく pip でイケるようになってる。
python3 も 3 を打たなくていいようにしてよ、Fedora みたく。
そしてコマンドを書く。

#!/usr/bin/env python3

import sys, os, re
from PIL import Image

arg = sys.argv[1:]
for s in arg:
    if re.search(r'\.(jpe?g|png|gif)$', s, re.I):
        im = Image.open(s).convert('RGB')
        im.save(f'{os.path.splitext(s)[0]}.webp', 'webp')

を拡張子無し実行パーミッション有りでパスの通った場所に置く。
名前は img2webp とか解りやすい名前にしておく。

Automator で新規書類、クイックアクションを選択。
「指定されたFinder項目を取得」のアクションをドラッグで配置。
「シェルスクリプトを実行」を同様に配置。
ワークフローが受け取る現在の項目を「イメージファイル」に。
入力の引渡し方法を「引数として」に。
そしてシェルスクリプトに自作コマンドを呼び出すコードを。

# Automator は読み込まないのでフルパスをドットコマンド
# もちろん source コマンドでもいい
. /Users/sasakima-nao/.zprofile
. /Users/sasakima-nao/.zshrc
# 自分が付けたコマンド名にしてね
img2webp "$@"

automator

いや、~/.zshrc とかに何も登録していないなら読み込まなくていいけど。
Python 3.10 は ~/.zprofile に書き込みしているから呼び出せるのであって。
コレをしないと場合によっては古いバージョンを呼び出しとかしてしまう。
読み込まない又はパスを通していない場合は自作コマンドもフルパスにしてね。
とにかくコレを create_webp とか解りやすい名前で保存。

menu

困ったことにデジカメの RAW 画像でも出ちゃうんだなこれが。
なので拡張子で振り分けする処理は必須です、おしまい。
このスクリーンショットはコレで変換した WebP 画像でした。

Histogram

今日は久々の快晴、野鳥撮影日和だ!
だからといって野鳥が都合よく出てきてくれるはずもなく。
ブログに貼れるような野鳥写真は撮れませんでした。

ところでカメラや現像アプリに付いているヒストグラム。
これっていったい何に使うんだろう?
プロの人は「おいおい。。。」だろうけど一般人はそんなだよね。
どうやら扇形にするのが理想らしい。

01

ということで試してみた、いや頑張ってみた。
iFinish を弱にして shadow を少し明るくして etc…

nadeshiko

しぶとく生き残っているセキチク(ナデシコ)で。
たしかにバランスはいいね、オリンパスらしくないような気も。

02

やっぱりこれです、青が一部ドカーンと。
過去画像も iFinish だとこんな感じが結構多かったり。

nadeshiko

でも現像するとそんなに青くない、よく解らない。
そもそも撮影時になるべく扇形になるように写せばいいんだよなって。
白トビや黒ツブレも撮影前にヒストグラムで解るし今後は活用しよう。

ついでに、macOS のスクリーンショットで今頃知ったんだけど。
外部出力のディスプレイ上で行うと 72dpi になるんだね。
(HiDPI) マークのサイズだと Retina ディスプレイ同様 144dpi に。

72dpi

つまり外部ディスプレイでスクリーンショットすれば dpi 変更無しでイケる。
と思って試したらフォントのアンチエイリアスが消えて余計汚くなるやん。
上記設定画面がソレをやった例です、ほんと何でこんな仕様なんだか。

更に command+shift+3 すると両方のスクリーンショットが生成される。
これ不便だからアクティブな画面だけにしてくれないかなぁ。

OMDS Exif

macOS 13 と iOS 16 に随分前した、何を今更気がついた。
写真.app で E-M5 MarkIII の写真も双方で焦点距離が表示されるようになった。

len

双方同じ表示になる、macOS は command+i で iOS は上フリック。
いや、これって 35mm フィルム換算ではなく実際の焦点距離ですよね。

Canon R6で撮影した写真 写真ア… – Apple コミュニティ

上記と同じく E-M5 MarkIII の写真も以前は焦点距離が表示されなかったのよ。
Focal Length In 35mm Format タグが付いていないことも確認済。
ある場合は表示、G99 のほうの写真は換算距離で表示されていた。

ようするに、このタグが無かったら Focal Length を表示しているだけ。
G99 のほうは変わらず 35mm フイルム換算距離で表示、なので紛らわしい。
それより Eye of GNOME みたいに両方を表示してくれればなって。
あそこまで無駄に親切ではなくとも括弧内に換算距離とか色々と手段があるでしょ。

まてよ、この換算距離タグってレンズ側が出力しているんじゃないの?
いや APS-C ボディにフルサイズ用レンズという場合もあるし。
確認のため同じ 100-400 パナライカを付けた写真を見てみる。

eog

右が G99 + 100-400、焦点距離と換算距離の両方を表示。
中が E-M5 + 100-400、焦点距離のみ。
左が OMDS から落とした E-M1X のサンプル写真。

何故だ E-M1X は換算距離が出るんだが。
OMDS は機種によっては出るのかタグを後付けしたのかどっちだ?

てか、やはりボディがこういう Exif タグを生成しているのね。
ファームアップで E-M5 MarkIII にも換算距離タグを追加できないのかなって。

EIZO FrexScan EV2795

買ってしまった。
27 インチディスプレイ、EIZO FrexScan EV2795 を。

M1 Macbook Air の RAW 現像用外部出力に高性能ディスプレイが欲しかった。
Retina Display は凄い、この本体から安物の外部ディスプレイなんてありえない。
ということでメーカーは EIZO 一択、USB-C ケーブル一本でというのも魅力。
老眼に 4K は辛いので WQHD の EV2795 を、という感じで。

もちろんデスクトップの Fedora と供用で使う。
そう考えると Fedora のほうに問題が。

SKYLAKE on Fedora | Paepoi Blog

Fedora はコレを使い続けている、ハードには興味が無い。
ただ一度故障したのでマザーを AsRock B250 の奴に、電源を新品に。
その他 i5-6500 8GB 等はそのまま、又 5 年も使ったのか。

Intel HD Graphics 530 は 4K 60Hz 出力に未対応。
WQHD 60Hz はイケるみたいだけど、実際に繋いでみないとわからない。
ビデオカードという手もあるけど Linux では Intel しか使いたくない。

Ryzen だと Linux と相性が悪いなんて書くブログが多いけどさ、逆だよ。
Intel は Linux 関連にガシガシとコミットしているから問題が起こりにくいだけ。
何故最初からドライバーが入っているのかを考えれば解るだろ、と。

とにかく買ってきた、繋いでみよう。

fedora_c

WQHD イケた、i5-6500 のままでもまだまだ戦えるぞ。
そんなことより Mac と Fedora で全然色が違う問題が解決した!

manjyusyage | Paepoi Blog

Fedora は問題なくて古い Acer の TN ディスプレイだけが原因だったのか。
いや Macbook Air 2011 のは当時の Mac はこの程度だったってこと?まあいい。
ちょっと意外、画像を弄るならディスプレイはケチらないほうがいいと実感。

こんどは M1 Macbook Air と USB3 接続。
HDMI と USB3 の入力切り替えは手動のみなのね。
これなら両方に電源を入れたまま切り替えできるけど、筆者は自動認識がいいな。
Mac への充電もされる、拍子抜けするほど何事も起こらない。

Apple M1シリーズチップ搭載Macとモニターの互換性 | EIZO株式会社

階調飛び問題は解決していないみたいですけど。
USB-C で接続した筆者の環境では何もおかしく見えない、ド素人の感想です。

サブ画面は Windows 等と同じ右側に配置される、ミラーリングもできる。
マウスやキーボードをディスプレイに繋げば入力の切り替えで供用できる。
と書いていたけど Mac は認識するが Fedora は切り替えで無線マウスを見失った。
いや Mac はマウスいらないってか Fedora でこのトラックパッドを使いたいんだが。

でも Macbook に Fedora を入れると control と command を絶対に間違える問題が。
併用だと間違えないのよ何故か、両方で US 配列キーボードを使うのがコツです。
いやコレは今関係無かったね。

oriview

Olympus Workspace は編集画面を分離してこんなこともできるようだ。
これはいい、てかこのアプリはこうでもしないと狭くて使う気にならない。

lightroom

Lightroom は外部ディスプレイに移動するメニューが現われる。
うーん、広い編集画面が魅力だった Lightroom が微妙になったぞ。

さて Macbook Air を綺麗に掃除するか。
OM SYSTEM さん、解像するトコ違うんじゃないの。

macOS Monterey

macOS を Monterey に遅ればせながらアップグレード。
Fedora とは違ってスッゲェ時間が掛かると解っているので休日まで待った。
12.13GB か、前の 14GB より減ったとはいえ酷い。

そろそろ全部終わったかな?
って画面を表示させると「インストールします」ダイアログ。
ガックリ。。。。。

[続ける]-[同意] って感じでボタンを押さないとインストールが始まらない。
今度こそ終わったかな?って見ると「再起動」ダイアログ。
ションボリ。。。。。

その再起動が又時間が掛かる。
終わった!と思ったらフェイントだった。
ゲンナリ。。。。。

M1 でコレだぞ、Intel Air だったらドンダケだったんだ?
アップグレードくらいボタン一発でスパッとやってくださいよ。
あーやっとこさ終わった。

それはいいとして。

Apple、macOS 12 MontereyにPython 2.7.18などを同梱してリリース。Big Surまで同梱されていたphpは削除されるので注意を。

マジで PHP は削除されるのね。
httpd.conf が初期化されるのはいつものこと。

php

WordPress の時代にコレって macOS を Web 開発に使うなってメッセージ?
Fedora のように dnf コマンドで即座に導入できるってわけでもないのにさ。
いったいどんな政治的なやりとりがあったのか、みたいな。
これだから Fedora も併用しなきゃなんだよ、macOS で開発は自由が無い。

自力で Python3 を入れている人は残る。
3.10 になっているのか、アップグレードしとこ。
macOS 64-bit unibersal2 installer で M1 ネイティブだよ。

Python Release Python 3.10.0 | Python.org

Lightroom は問題なく動く、コレのために Mac を使っているのだし。

それと Fedora から SSH てか SFTP で簡単アクセスする用の
~/.ssh/id_rsa.pub
とか設置していたものも普通に残っているしアクセスもできる。

そんなことより何より。

#!/usr/bin/osascript

ObjC.import('Cocoa');
let r = $.NSMakeRect(0, 0, 10, 10);

console.log(`width = ${r.size.width}`);

jxa

JXA での NSRect バグがやっと、ついに修正されたぞ!
Big Sur アップデート毎にコレ動かしてションボリしてたのよね。
待ちわびた、待ちすぎて PyObjC 万歳になっちゃった。