⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 canoncustom.pm

📁 稀饭伊人相册系统继承了新天堂多用户相册系统的功能
💻 PM
字号:
package TagTables::CanonCustom;use strict;use vars qw($VERSION);$VERSION = '1.00';#------------------------------------------------------------------------------# Custom functions for the D30/D60# CanonCustom (keys are custom function number)%TagTables::CanonCustom::Functions = (    TableType => 'CanonCustom',    1 => {        Name => 'LongExposureNoiseReduction',        PrintConv => {            0 => 'Off',            1 => 'On',        },    },    2 => {        Name => 'Shutter/AELock',        PrintConv => {            0 => 'AF/AE lock',            1 => 'AE lock/AF',            2 => 'AF/AF lock',            3 => 'AE+release/AE+AF  ',        },    },    3 => {        Name => 'MirrorLockup',        PrintConv => {            0 => 'Disable',            1 => 'Enable',        },    },    4 => {        Name => 'ExposureLevelIncrements',        PrintConv => {            0 => '1/2 Stop',            1 => '1/3 Stop',        },    },    5 => {        Name => 'AFAssist',        PrintConv => {            0 => 'Auto',            1 => 'Off',        },    },    6 => {        Name => 'FlashSyncSpeedAv',        PrintConv => {            0 => 'Auto',            1 => '1/200 Fixed',        },    },    7 => {        Name => 'AEBSequence',        PrintConv => {            0 => '0,-,+/Enabled',            1 => '0,-,+/Disabled',            2 => '-,0,+/Enabled',            3 => '-,0,+/Disabled',        },    },    8 => {        Name => 'ShutterCurtainSync',        PrintConv => {            0 => '1st-curtain sync',            1 => '2nd-curtain sync',        },    },    9 => {        Name => 'LensAFStopButton',        PrintConv => {            0 => 'AF Stop',            1 => 'Operate AF',            2 => 'Lock AE and start timer  ',        },    },    10 => {        Name => 'FillFlashAutoReduction',        PrintConv => {            0 => 'Enable',            1 => 'Disable',        },    },    11 => {        Name => 'MenuButtonReturn',        PrintConv => {            0 => 'Top',            1 => 'Previous (volatile)',            2 => 'Previous',        },    },    12 => {        Name => 'SetButtonFunction',        PrintConv => {            0 => 'NotAssigned',            1 => 'Change quality',            2 => 'Change ISO speed',            3 => 'Select parameters  ',        },    },    13 => {        Name => 'SensorCleaning',        PrintConv => {            0 => 'Disable',            1 => 'Enable',        },    },    14 => {        Name => 'SuperimposedDisplay',        PrintConv => {            0 => 'On',            1 => 'Off',        },    },    15 => {        Name => 'ShutterReleaseNoCFCard',        Description => 'Shutter Release w/o CF Card',        PrintConv => {            0 => 'Yes',            1 => 'No',        },    },);# custom functions for 10D%TagTables::CanonCustom::Functions10D = (    TableType => 'CanonCustom',    1 => {        Name => 'SetButtonFunction',        PrintConv => {            0 => 'NotAssigned',            1 => 'Change quality',            2 => 'Change parameters',            3 => 'Menu display',            4 => 'Image replay ',        },    },    2 => {        Name => 'ShutterReleaseNoCFCard',        Description => 'Shutter Release w/o CF Card',        PrintConv => {            0 => 'Yes',            1 => 'No',        },    },    3 => {        Name => 'FlashSyncSpeedAv',        PrintConv => {            0 => 'Auto',            1 => '1/200 (Fixed)',        },    },    4 => {        Name => 'Shutter/AELock',        PrintConv => {            0 => 'AF/AE lock',            1 => 'AE lock/AF',            2 => 'AF/AF lock, No AE Lock',            3 => 'AE/AF, No AE Lock',        },    },    5 => {        Name => 'AFAssist',        Description => 'AF Assist/Flash Firing',        PrintConv => {            0 => 'Emits/Fires',            1 => 'Does Not Emit/Fires',            2 => 'Only Ext. Flash Emits/Fires',            3 => 'Emits/Does Not Fire',        },    },    6 => {        Name => 'ExposureLevelIncrements',        PrintConv => {            0 => '1/2 Stop',            1 => '1/3 Stop',        },    },    7 => {        Name => 'AFPointRegistration',        PrintConv => {            0 => 'Center',            1 => 'Bottom',            2 => 'Right',            3 => 'Extreme Right',            4 => 'Automatic',            5 => 'Extreme Left',            6 => 'Left',            7 => 'Top',        },    },    8 => {        Name => 'RawAndJpgRecording',        PrintConv => {            0 => 'RAW+Small/Normal',            1 => 'RAW+Small/Fine',            2 => 'RAW+Medium/Normal',            3 => 'RAW+Medium/Fine',            4 => 'RAW+Large/Normal',            5 => 'RAW+Large/Fine',        },    },    9 => {        Name => 'AEBSequence',        PrintConv => {            0 => '0,-,+/Enabled',            1 => '0,-,+/Disabled',            2 => '-,0,+/Enabled',            3 => '-,0,+/Disabled',        },    },    10 => {        Name => 'SuperimposedDisplay',        PrintConv => {            0 => 'On',            1 => 'Off',        },    },    11 => {        Name => 'MenuButtonDisplayPosition',        PrintConv => {            0 => 'Previous (Volatile)',            1 => 'Previous',            2 => 'Top',        },    },        12 => {        Name => 'MirrorLockup',        PrintConv => {            0 => 'Disable',            1 => 'Enable',        },    },    13 => {        Name => 'AssistButtonFunction',        PrintConv => {            0 => 'Normal',            1 => 'Select Home Position',            2 => 'Select HP (while pressing)',            3 => 'Av+/- (AF point by QCD)',            4 => 'FE lock',        },    },    14 => {        Name => 'FillFlashAutoReduction',        PrintConv => {            0 => 'Enable',            1 => 'Disable',        },    },    15 => {        Name => 'ShutterCurtainSync',        PrintConv => {            0 => '1st-curtain sync',            1 => '2nd-curtain sync',        },    },    16 => {        Name => 'SafetyShiftInAvOrTv',        PrintConv => {            0 => 'Disable',            1 => 'Enable',        },    },    17 => {        Name => 'LensAFStopButton',        PrintConv => {            0 => 'AF Stop',            1 => 'Operate AF',            2 => 'Lock AE and start timer  ',        },    },);# custom functions for the 1D%TagTables::CanonCustom::Functions1D = (    TableType => 'CanonCustom',    0 => {        Name => 'FocusingScreen',        PrintConv => {            0 => 'Ec-N, R',            1 => 'Ec-A,B,C,CII,CIII,D,H,I,L',        },    },    1 => {        Name => 'FinderDisplayDuringExposure',        PrintConv => {            0 => 'Off',            1 => 'On',        },    },    2 => {        Name => 'ShutterReleaseNoCFCard',        Description => 'Shutter Release w/o CF Card',        PrintConv => {            0 => 'Yes',            1 => 'No',        },    },    3 => {        Name => 'ISOSpeedExpansion',        Description => 'ISO Speed Expansion',        PrintConv => {            0 => 'No',            1 => 'Yes',        },    },    4 => {        Name => 'ShutterAELButton',        Description => 'Shutter Button/AEL Button',        PrintConv => {            0 => 'AF/AE Lock Stop',            1 => 'AE Lock/AF',            2 => 'AF/AF Lock, No AE Lock',            3 => 'AE/AF, No AE Lock',        },    },    5 => {        Name => 'ManualTv',        Description => 'Manual Tv/Av for M',        PrintConv => {            0 => 'Tv=Main/Av=Control',            1 => 'Tv=Control/Av=Main',            2 => 'Tv=Main/Av=Main w/o Lens',            3 => 'Tv=Control/Av=Main w/o Lens',        },    },    6 => {        Name => 'ExposureLevelIncrements',        PrintConv => {            0 => '1/3-Stop Set, 1/3-Stop Comp',            1 => '1-Stop Set, 1/3-Stop Comp',            2 => '1/2-Stop Set, 1/2-Stop Comp',        },    },    7 => {        Name => 'USMLensElectronicMF',        PrintConv => {            0 => 'Turns On After One-Shot AF',            1 => 'Turns Off After One-Shot AF',            2 => 'Always Turned Off',        },    },    8 => {        Name => 'LCDPanels',        Description => 'Top/Back LCD Panels',        PrintConv => {            0 => 'Remain. Shots/File No.',            1 => 'ISO/Remain. Shots',            2 => 'ISO/File No.',            3 => 'Shots In Folder/Remain. Shots',        },    },    9 => {        Name => 'AEBSequence',        PrintConv => {            0 => '0,-,+/Enabled',            1 => '0,-,+/Disabled',            2 => '-,0,+/Enabled',            3 => '-,0,+/Disabled',        },    },    10 => {        Name => 'AFPointIllumination',        PrintConv => {            0 => 'On',            1 => 'Off',            2 => 'On Without Dimming',            3 => 'Brighter',        },    },    11 => {        Name => 'AFPointSelection',        PrintConv => {            0 => 'H=AF+Main/V=AF+Command',            1 => 'H=Comp+Main/V=Comp+Command',            2 => 'H=Command Only/V=Assist+Main',            3 => 'H=FEL+Main/V=FEL+Command',        },    },    12 => {        Name => 'MirrorLockup',        PrintConv => {            0 => 'Disable',            1 => 'Enable',        },    },    13 => {        Name => 'AFPointSpotMetering',        Description => 'No. AF points/spot metering',        PrintConv => {            0 => '45/Center AF Point',            1 => '11/Active AF Point',            2 => '11/Center AF Point',            3 => '9/Active AF Point',        },    },    14 => {        Name => 'FillFlashAutoReduction',        PrintConv => {            0 => 'Enable',            1 => 'Disable',        },    },    15 => {        Name => 'ShutterCurtainSync',        PrintConv => {            0 => '1st-curtain sync',            1 => '2nd-curtain sync',        },    },    16 => {        Name => 'SafetyShiftInAvOrTv',        PrintConv => {            0 => 'Disable',            1 => 'Enable',        },    },    17 => {        Name => 'AFPointActivationArea',        PrintConv => {            0 => 'Single AF Point',            1 => 'Expanded (TTL. of 7 AF Points)',            2 => 'Automatic Expanded (Max. 13)',        },    },    18 => {        Name => 'SwitchToRegisteredAFPoint',        PrintConv => {            0 => 'Assist + AF',            1 => 'Assist',            2 => 'Only While Pressing Assist',        },    },    19 => {        Name => 'LensAFStopButton',        PrintConv => {            0 => 'AF Stop',            1 => 'AF Start',            2 => 'AE Lock While Metering',            3 => 'AF Point: M->Auto/Auto->Ctr',            4 => 'AF Mode: ONESHOT<->SERVO',            5 => 'IS Start',        },    },    20 => {        Name => 'AIServoTrackingSensitivity',        PrintConv => {            0 => 'Standard',            1 => 'Slow',            2 => 'Moderately Slow',            3 => 'Moderately Fast',            4 => 'Fast',        },    },);#------------------------------------------------------------------------------# process Canon custom# Inputs: 0) pointer to tag table, 1) data reference,#         2) pointer offset, 3) bytes in directorysub ProcessCanonCustom($$$$){    my $tagTablePtr = shift;    my $dataPt = shift;    my $offset = shift;    my $size = shift;        # first entry in array must be the size    unless (ExifTool::Get16u($dataPt,$offset) == $size) {        warn "Invalid CanonCustom data\n";        return;    }    for (my $pos=2; $pos<$size; $pos+=2) {        my $entry = substr($$dataPt,$pos+$offset,2);        my $val = ExifTool::Get16u($dataPt,$offset+$pos);        my $tag = ($val >> 8);        $val = ($val & 0xff);        my $tagInfo = ExifTool::GetTagInfo($tagTablePtr, $tag);        if ($tagInfo) {            ExifTool::FoundTag($tagInfo,$val);        } else {            $ExifTool::verbose and printf "  Custom Function $tag: $val\n";        }    }}1;  # end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -