ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Display Nikon MakerNotes

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
xequte Posted - Aug 24 2016 : 03:17:02

// Call after loading, with DisplayNikonMakerNotes( ImageEnView1.IO.Params );
procedure DisplayNikonMakerNotes(Params: TIOParams; DestListView: TListView);
var
  i:integer;
  tag:string;

  procedure AddTag(const desc:string);
  begin
    with DestListView.Items.Add do
    begin
      Caption := tag;
      SubItems.Append( desc );
    end;
  end;

begin
  DestListView.Items.Clear;

  if Data.Size = 0 then
    exit;
             
  // NIKON MAKER NOTE
  // Source: http://www.tawbaware.com/990exif.htm

  tag := 'Color mode';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(3)));

  tag := 'Image quality setting';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(4)));

  tag := 'White balance';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(5)));

  tag := 'Image sharpening setting';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(6)));

  tag := 'Focus mode';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(7)));

  tag := 'Flash setting';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(8)));

  tag := 'ISO selection';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(15)));

  tag := 'Image adjustment setting';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(128)));

  tag := 'Auxiliary lens (adapter)';
  AddTag( Trim( Params.EXIF_MakerNote.GetString(130)));

  tag := 'Manual focus distance';
  AddTag( FloatToStr( Params.EXIF_MakerNote.GetRational(133)));

  tag := 'Digital zoom setting';
  AddTag( FloatToStr( Params.EXIF_MakerNote.GetRational(134)));
end;


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
5   L A T E S T    R E P L I E S    (Newest First)
jenswahl Posted - Sep 05 2016 : 04:06:03
Thank you.

Jens

www.inntalsoftware.de/en/
xequte Posted - Sep 05 2016 : 00:45:22
Hi Jens

Actually, in reviewing the code, I realize we avoid loading the maker notes when they are huge (e.g. your file as 26,000 tags), because they are seldom used so add unnecessary delay.

I'll look into a better way to handle this for a later update.


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
jenswahl Posted - Sep 01 2016 : 01:47:12
Hello Nigel,

I sent you two images to your mail address.

Jens
xequte Posted - Aug 31 2016 : 17:53:33
Hi Jens

Please email me the files you are testing.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
jenswahl Posted - Aug 31 2016 : 10:28:03
Hello Nigel,

I tested it with photos from a D7000 and a D5100, but all times the Exif_MakerNotes.Data.Size were zero. Another program (PhotoMe) displays the Makernotes exactly. What was wrong?

Jens