1

この問題に光を当てていただければ幸いです。2つの画像があります。1つはメタデータを含むTIFファイルから作成されたもので、もう1つはjpegとして保存されるメモリ内の画像です。次に、このルーチンを使用して、exifメタデータを最初のイメージから2番目のイメージ(つまり、tifファイルから作成されたイメージからメモリ内のイメージ)に転送します。

For Each _p In image1.PropertyItems
   image2.SetPropertyItem(_p)
Next

そして、これは完全にうまく機能します。すべてのexifアイテムが正常にコピーされます。デバッグモードで時計を使用してこれを確認しました。これを使用してimage2をjpegとして保存すると、問題が発生します。

    Dim eps As EncoderParameters = New EncoderParameters(1)
    eps.Param(0) = New EncoderParameter(Encoder.Quality, 85)
    Dim ici As ImageCodecInfo = GetEncoderInfo("image/jpeg")
    image2.Save("C:\1.jpg", ici, eps)

ただし、image2 jpegファイルで保存されるEXIFプロパティはごくわずかです。つまり、カメラモデルとカメラメーカーのみです。ただし、image2をTIFとして保存すると、元のtifのすべてのプロパティがそこに表示されます。誰かがそれがなぜであるか説明できますか?

ありがとう。

4

1 に答える 1

0

Exiv2Sharpを見てください。この Exiv2 のラッパーは、探しているものを提供するはずです。

于 2009-07-02T11:06:01.727 に答える