「レンズの焦点距離」の相違をチェックする

「PHOTOHITO」サイトの投稿写真の中に、画像と撮影情報が間違って登録されている場合について、前ページ  で纏めました。

 

レンズ性能を「検証」する作業では、この間違いは大変に困った問題です。「検証」する側は、場合によっては完全に騙されてしまいます。「PHOTOHITO」も登録画面でもう少し丁寧に注意喚起すれば良いのですが...

 

で、最低限の予防対策として、「Exifデータ」のレンズ焦点距離をチェックするツールを作りました。 不完全なチェックで、単焦点レンズの検証でしか使えませんが、少しでも「誤設定」を排除できれば良いので。

 

 

 

 「PhotoHito Checker」

「ユーザー別写真リスト」の「Exifデータ」からレンズの「焦点距離」を調べ、このツールに設定した数値と照合します。 値に相違があれば、ページ上部に「Exifデータ」の値を表示して知らせる、とても単純なツールです。

 

照合の機能は単純で万能ではなく、起動時に「Cookie」を読む事、一般的な機能ではないという事から、「PhotoHito Viewer」とは独立したツールにしました。

 

 

レンズ焦点距離の設定 

「PhotoHito Checker」を「ON」にして「ユーザー別写真リスト」を開くと、上部のヘッダー部に、判定基準の「焦点距離」を設定する「入力枠」が表示されます。

 

 

● マウスを乗せるとスピナーが表示されるので、判定基準の焦点距離を設定します。

 

▪ 設定値は「Cookie」に記録され、24時間有効です。

▪「ユーザー別写真リスト」を開く度に「Exifデータ」の「焦点距離」とこの値を比較します。

▪「PhotoHito Viewer」がなくても、このツール単独で機能します。

 

 

レンズ種の間違い設定を判定 

● 単焦点レンズの場合のみ、レンズ種の間違いを判定できます。

▪ ズームレンズで偶然に指定の焦点距離で撮影した写真は、判定できません。

▪ 指定の焦点距離があてはまる別種の単焦点レンズは、判定できません。

 

特定の単焦点レンズを使った写真を抽出した「サムネイルリスト」から「ユーザー別写真リスト」を開くと、「Exif」は特定レンズの「焦点距離」を表示するはずです。 しかし、「撮影情報」の設定を間違った写真は違う値を示します。

 

下は、「PhotoHito Checker」を「ON」にした時の「ユーザー別写真リスト」の上部の表示で、指定値は「30mm」です。

 

 

開いた写真の「Exifデータ」の焦点距離が「30mm」なら、上の様に設定枠しか表示されません。

 

指定が「25mm」の場合に同じ写真を開くと、「Exifデータ」の「焦点距離」と指定値が異なり、下の様に赤表示で「Exifデータ」を表示して申告します。

 

 

▪ このツールは相違を報告するだけのツールです。 赤枠の報告を無視しても何も問題はありません。

 

▪「撮影情報」の「一括入力」で、何度も誤設定するユーザーは限定されるので、そのユーザー名の写真には注意しておく必要があります。

 

 

 

「PhotoHito Checker」を利用するには

このツールは Chrome / Edge / Firefox版の拡張機能「Tampermonkey」上で動作します。 以下に、このツールの導入手順を簡単に説明します。

 

❶「Tampermonkey」を導入します

◎ 使用しているブラウザに拡張機能「Tampermonkey」を導入する事が必要です。

既に「Tampermonkey」を導入している場合は、この手順 ❶ は不要です。 

拡張機能の導入については、以下のページに簡単な説明があるので参照ください。

 

 

❷「Tampermonkey」にスクリプトを登録します

◎「Tampermonkey」の「」マークの「新規スクリプト」タブを開きます。

 

 

 

◎「新規スクリプト」には、最初からテンプレートが記入されています。 これは全て削除して、完全に空白の編集枠に 下のコードをコピー&ペーストします。

 

〔コピー方法〕 軽量シンプルなツール「PreBox Button   」を使うと

  コード枠内を「Ctrl+左Click」➔「Copy code 」を「左Click」

  の操作で、掲載コードのコピーが可能になります。

 

◎ 最後に「ファイル」メニューの「保存」を押すと、ツールが使用可能になります。

 

 

〔 PhotoHito Checker 〕 ver. 0.1

 

// ==UserScript==
// @name         PhotoHito Checker
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description 写真投稿サイトPHOTOHITOのレンズ種チェック
// @author       PHOTOHITO User
// @match        https://photohito.com/photo/*
// @exclude      https://photohito.com/photo/edit/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=photohito.com
// @grant        none
// ==/UserScript==



let path=location.pathname;
if(path.match(/\/photo\/\d{1,8}\/$/)){ //「ユーザー別写真リスト」の画面

    let focal_l; // EXIFの焦点距離

    alert_env();

    let check_set=document.querySelector('#check_set');
    if(get_cookie('PHC')!=0){
        check_set.value=get_cookie('PHC'); } // Cookieの読込み 🔵



    let exif=document.querySelector('#exif_area table');
    if(exif){
        let trs=exif.querySelectorAll('tr');
        let k;
        for(k=0; k<trs.length; k++){
            if(trs[k].textContent.includes('焦点距離')){
                focal_l=trs[k].querySelector('td').textContent.match(/\d+/);
                break; }}


        let alert_box=document.querySelector('#alert_box');
        if(alert_box){
            if(focal_l==check_set.value){
                alert_box.style.opacity='0'; }
            else{
                alert_box.style.opacity='1';
                alert_box.textContent=trs[k].querySelector('td').textContent; }}}



    check_set.addEventListener('input', function(){
        document.cookie='PHC='+ check_set.value +'; path=/; Max-Age=86400'; }); // 24h 🔵



    function alert_env(){
        let abox=
            '<div id="abox">'+
            '<input id="check_set" type="number" min="0" value="0">'+
            '<span class="mm">mm</span>'+
            '<span id="alert_box"></span>'+
            '</div>'+
            '<style>'+
            '#abox { position: absolute; top: 5px; right: 250px; z-index: 2; '+
            'font: bold 16px Meiryo; } '+
            '#check_set { position: relative; width: 54px; padding: 2px 6px 0; margin: 0 15px; '+
            'font: inherit; -moz-appearance: textfield; } '+
            '#check_set::-webkit-inner-spin-button { margin-top: -1px; } '+
            '#check_set:hover { -moz-appearance: unset; } '+
            '.mm { position: absolute; left: 48px; top: 6px; font-size: 14px; } '+
            '#abox:hover .mm { z-index: -1; } '+
            '#abox:focus-within .mm { z-index: -1; } '+
            '#alert_box { display: inline-block; vertical-align: middle; '+
            'padding: 3px 12px 2px; color: #fff; background: red; }'+
            '</style>';

        if(!document.querySelector('#abox')){
            let login_menu=document.querySelector('#login_menu');
            if(login_menu){
                login_menu.insertAdjacentHTML('beforebegin', abox); }}}



    function get_cookie(name){
        let cookie_req=document.cookie.split('; ').find(row=>row.startsWith(name));
        if(cookie_req){
            if(cookie_req.split('=')[1]==null){
                return 0; }
            else{
                return cookie_req.split('=')[1]; }}
        if(!cookie_req){
            return 0; }}

} //「ユーザー別写真リスト」の画面




 

 

 

「PhotoHito Checker」最新版について 

旧いバージョンの JavaScriptツールは、アメーバのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。

 

●「PhotoHito Checker」の最新バージョンへのリンクは、以下のページのリンクリストから探せます。