月別アーカイブ: 2020年8月

Photo crop

五条川にもカワセミは本当にいるんだね。
某所でセグロさんを撮っていたら目の前を川下に向かって飛ぶエメラルドが!
そして追いかけて、見失う。
ドコで狩してんの?まあ渡り鳥ではないのだから地味に見つけるつもり。

日曜は他にもシジュウカラさんやヤマガラさんも見つける、てか来るんだな。
注意して見ないと全部スズメだと思っちゃうよなって、カワセミさんでさえも。
ポケ GO では画面ばかり見ていたので今迄気が付かなかっただけのようだ。
ピントがイマイチなのしか撮れなかったけど、動き回る小鳥はムズい。

というわけで、gnome-photos の続き。

raw は死ぬほど遅いし RW2 は読み込み不能、管理や観覧には使い物にならない。
でも jpeg なら普通の速度で読み込む、これ切り抜きツールとして使えね?
ようするに Exif データを残した状態で切り抜きしたいのよ。

それと筆者は Fedora から Chrome で iCloud に写真を上げているんだけど。
それを iPhone がダウンロードしちゃう、Mac を立ち上げると Mac にまで。
つまり iCloud への通信が三倍になる、サイズを節約しなきゃマズい。

gnome-photos は基本 XDG_PICTURES_DIR と XDG_DOWNLOAD_DIR 内を探すようだ。
読み込まれたくない写真は XDG_DOCUMENTS_DIR 以下等に退避しておく。
でも筆者の場合写真は全部スレーブ接続した 1TB HDD に入れている。
gnome-photos 起動毎に HDD 内をインポートするかか質問される。
毎回キャンセルするのが面倒なんだけど無効にする設定が無いのが困る。

切り抜きしたい写真を XDG_PICTURES_DIR にコピー。
gnome-photos 起動、その写真がサムネイルに出て来るので選択。
鉛筆のツールボタンを押して「切り抜き」を選択。

crop

三分割の線が出るので三分割法を利用するのが簡単。
完了を押すと切り取りされるが元の写真はそのまま。
gnome-photos という拡張子の XML ファイルに加工内容が記録される。

メニューからエクスポートすると切り取った写真が作成される。
よし Exif 情報が残ったまま切り取り写真のできあがり。

このサイズなら WordPress からでもアップロードできるね。
Mac を使えよという話だが Fedora でやれるのならやりたいじゃん。

GtkDialog

GtkDialog のボタンをメッセージが長くても幅いっぱいに広げる方法が解った。
action_area って実は GtkButtonBox だった。

#!/usr/bin/env python3

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
 
dlg = Gtk.Dialog()
dlg.vbox.pack_start(Gtk.Label(label='a'*50, visible=True), False, False, 30)
dlg.add_button('_OK', Gtk.ResponseType.CLOSE)
dlg.add_button('_Cancel', Gtk.ResponseType.CLOSE)

# Expand
area = dlg.get_action_area()
area.props.layout_style = Gtk.ButtonBoxStyle.EXPAND

dlg.run()
dlg.destroy()

expand_buttons

それだけだったのか。。。。。

ついでに解った。
use-header-bar property を 1 にすれば buttons が headerbar になる。

#!/usr/bin/env python3

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
 
dlg = Gtk.Dialog(use_header_bar=1)
dlg.vbox.pack_start(Gtk.Label(label='Titlebar Buttons', visible=True), False, False, 30)
dlg.add_button('SUZUKI', Gtk.ResponseType.CLOSE)
dlg.add_button('MotorCycle', Gtk.ResponseType.CLOSE)
dlg.add_button('Cool', Gtk.ResponseType.CLOSE)

dlg.run()
dlg.destroy()

titlebar_buttons

そうだったのか。。。。。

それとタイトルバーを消す方法なんだが。
非表示の GtkTitleBar をセットすればとりあえず消すことはできると解った。
でも角が丸くならない、色々試したけど上手くいかない。
で思いついた、GtkMessageDialog のボタンを使わず add_button すればよくね?

#!/usr/bin/env python3

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
 
dlg = Gtk.MessageDialog(text='SUZUKI MotorCycle is Bery Cool!', visible=True)
dlg.add_button('_OK', Gtk.ResponseType.CLOSE)
dlg.add_button('_Yes', Gtk.ResponseType.CLOSE)
dlg.add_button('_Agree', Gtk.ResponseType.CLOSE)

dlg.run()
dlg.destroy()

no_titlebar_dialog

何故今迄気が付かなかったんだ。。。。。

てか、統一感を出そうとするなら GtkMessageDialog 継承が一番じゃん。
そんなこんなで我がアプリは結局コレに書き換え。
prev のファイル名表示を追加しようと思ったけどゴチャゴチャするのでヤメ。
Comipoli 0.4.1 公開、本サイト更新のお知らせは久々だな。

ところで、この件でソースコードを見てやろうって思ったんだが。

gtk/gtkmessagedialog.c at master ? GNOME/gtk ? GitHub

gtk_widget_add_css_class という関数を見つけたんだけど。

GtkWidget: GTK 4 Reference Manual

コレって GTK4 からの関数なんですけど。
え、もしかして次の GNOME から GTK4 なんですか?

LibRaw

2020.08.19 の Fedora アップデート。

libraw

あれ、LibRaw ってもしかしてコレのこと?
LibRaw | raw image decoder

最初から入っていたのか gnome-photos を入れたから入ったのかは知らない。
しかし LUMIX の Raw(RW2) を eog にドロップしてもエラーなんだが。
リンク先には Panasonic 14-bit と書いているけど G99 の Raw は違うということか。

よく解らないけど Nikon D3400 の Raw(NEF) をドロップしてみよう。

nikon_nef

おぉ表示できた、けど 160×120 ピクセルでしか表示できない。
埋め込みされているサムネイル画像を表示しているだけっぽい。
gnome-photos で表示したらどうなんだろう?

sijyuukara

普通に Raw のまま表示できるじゃん。
ちなみに RW2 だと落っこちます、Fedora でこんなの久々に見た。

macOS の Photos.app 同様簡易編集できるようです。
Nikon @ Fedora and macOS | Paepoi Blog

しかし適用が死ぬほど遅い!
全部ソフトウエア処理なんだろうな、macOS はそこが強いよね。

とにかく露出や彩度を上げたり切り抜きしてみたりする。
切り抜きで 1920×1080 とかの数値はアスペクト比の目安でピクセル数ではない。

[完了] ボタンを押すと Raw のデータが上書きされる。
基に戻す場合はメニューのプロパティから可能。
jpeg に現像するにはメニューからエクスポートを選択。

で普通に jpeg 現像ができました。

gnome-photos なら macOS の Photos.app の代わりに、ってのはかなり厳しいけど。
何より画像管理機能がただ単にサムネイル表示しているだけって所がさ。
iOS ですら年別や月別で表示できるのにマジで何も無い、さすがにこれは。
編集は死ぬほど遅いし RW2 では表示すらできないしで実用にはほど遠い。

というか macOS がデジカメに関しては凄過ぎ、比べるほうがおかしい。
せめて管理機能が iOS 並みになれば、ということで今後に期待。

Intl

Intl といえばもちろんスズキのイントルーダークラシックです。
ジャメリカン 400 の中では一番デカくてカッコイイよね。
ネクラはインテルくらいしかボケが思いつかないだろ、スズ菌でよかったぜ。
というボケは置いておいて。

Intl.ListFormat – JavaScript | MDN

listformat

Intl.ListFormat にはコンストラクタがありません、ってなんじゃそりゃ!

firefox

Firefox で F12 からコンソールならやはり普通に使える。
普段はまったく使っていないのが丸分かりなスクショなことは気にしない。
Gjs は同じ SpiderMonkey だけど同じ Intl を使っているんじゃないんだな。

PluralRules は ja-JP を指定すると全部 other になる、Firefox でも同じ。
Collator は日本語では無意味。
MDN では赤文字な RelativeTimeFormat にはバッチリ対応。
そんなこんなでなんとも中途半端なまとめになってしまった。

JavaScript Intl – Paepoi

これしか更新していないのに盆休みが終わってしまった。
まあいいか、この夏はカワセミに出会えたというだけでおいらは満足だ。
前回は直張りするのを忘れたね、同じのじゃツマランから別アングルのを。

EX テレコン

お盆休みです、お盆といったら野鳥撮影です。
どんだけハマったんだってばさ俺。

さて野鳥撮影の王道といえば、やはりカワセミですね。
エメラルドグリーンの羽が美しい。
近場の五条川にもカワセミは来ているらしいんだけど。。。。。

五条川のカワセミ : MパパBlog

まだ一度も実物を見たことが無い。
ポケ GO オヤジだった時なんて毎週遊歩道を端まで往復していたのに。
岩倉市役所前は今でも聖地なんだろうか、いやそれは今は関係ない。

愛知県小牧市・春日井市 八田川・落合公園へ野鳥観察散策 2018/02/12: ☆しの★ の 低山日記

こんなページを発見、そうか八田川か。
ということでカワセミ求めて春日井へ。
県内の移動ならコロナ GoTo 問題無し、てかクロスバイクでも余裕でいける。
けど先週日焼けで腕が酷いことになったので今回は長袖とビッグなスクーターで。
つまり実は本日で三度目の挑戦、今度こそ絶対に見つける。

今日は朝宮公園まで足を伸ばしてみる。
早々にメジロを撮りのがす、地味に難易度が高いよ彼等は。
カワウが凄い勢いで逃げていく、おまえは潜れるんだから大池とかにいけよ。
アオサギはなんでこんなに多いんだ、と朝は全然成果無し。
昼を過ぎ今日もスズメとムクドリだけか、と嘆いたその時。

kawasemi01

いた!ハクセキレイと仲良く並んで獲物を探すレアな場面に遭遇。
日陰にいるんだね、鳥さんだって今日は暑いよね。
ゆっくり近付くとカワセミだけが逃げた、警戒心が段違いだ。
セキレイさんを何枚か撮ってカワセミの逃げたほうに移動。

なんとか発見、今度は木の影に隠れながら慎重に。
全然動かないのでここぞとばかり LUMIX の機能を色々試す。
よし EX テレコンを使ってみよう。

kawasemi02

あれ 2 倍の 1600mm 相当にはならないのか、1.9756 倍みたい。
光学上で色々あるのだろう、機械化卒にはワカラン。

面積が 1/4 に縮んでいるとおり、この機能は単なるトリミングです。
でもこのまま液晶や EVF で見られることに意義がある。
ピントバッチリと思ってもパソコンに移したらアレッとなることは確実に減る。
そもそも、このサイズでも等倍で見るには 4K ディスプレイが必要っていう。

しかし日陰にしか留まらないのでエメラルドグリーンが映えないなぁと。
この時期は野鳥撮影に向いていないかも、日焼け凄くてかゆいし。
訂正、お盆といったらプログラミングです。
明日は何か更新したいなぁと今頃思ってしまう筆者であった。