3

JPEG メタデータを読み取ってデータベースに保存するアプリを作成し、不正な文字が含まれているかどうかを確認できるようにしました。以下のコードを使用してメタデータを抽出できますが、著作権ステータスを抽出できません。それを抽出する方法はありますか?

var stream = new FileStream(file, FileMode.Open, FileAccess.Read);
                        var decoder = new JpegBitmapDecoder(stream, BitmapCreateOptions.None, BitmapCacheOption.None);
                        var metadata = decoder.Frames[0].Metadata as BitmapMetadata;
                        if (metadata != null)
                        {
                            dataGridView1.Rows.Add(file,
                                metadata.ApplicationName,
                                metadata.Author != null ? metadata.Author.Aggregate((old, val) => old ?? "" + "; " + val) : "",
                                metadata.CameraManufacturer,
                                metadata.CameraModel,
                                metadata.Comment,
                                metadata.Copyright,
                                metadata.DateTaken,
                                metadata.Format,
                                metadata.Keywords != null ? metadata.Keywords.Aggregate((old, val) => old ?? "" + "; " + val) : "",
                                metadata.Location,
                                metadata.Rating,
                                metadata.Subject,
                                metadata.Title,
                                metadata.GetQuery("/xmp/photoshop:Instructions"),
                                metadata.GetQuery("/xmp/xmpRights:UsageTerms/x-default"),
                                metadata.GetQuery("/xmp/photoshop:Credit")
                                );
                        }

コードから「著作権ステータス」を取得することは可能ですか? これは Photoshop にあり、Photoshop で表示できます。

著作権状況

4

3 に答える 3

1

ブリッジがMarkedが鍵であると示唆したように、私は道を見つけました。私はビジネス ユーザーに 3 つの画像を求めました。以下は私の調査結果です。

metadata.GetQuery("/xmp/xmpRights:Marked")  = ""      //for unknown
metadata.GetQuery("/xmp/xmpRights:Marked")  = "false" //for public domain 
metadata.GetQuery("/xmp/xmpRights:Marked")  = "true"  //for copyrighted
于 2014-08-21T09:37:11.973 に答える
1

JPEG で定義されている著作権フィールドはありません。Exif ファイル形式は著作権をサポートしています。多分他の人も。

著作権情報が必要な場合は、Exif ファイルがあるかどうかを判断する必要があります。その場合、SOI マーカーの後に APP1 マーカーを探し、それが EXIF ヘッダーであるかどうかを判断し、マーカーに埋め込まれた TIFF ヘッダーを検索して、著作権タグを探す必要があります。

于 2014-08-20T02:52:36.390 に答える