Windows의 속성 시스템이 복잡한 이야기를 가지고, 당신은 여기에 대한 자세한 정보를 찾을 수 있습니다 : Extracting Windows File Properties (Custom Properties) C#이
당신은 Microsoft.WindowsAPICodePack.Shell
nuget 패키지를 시도 할 수 :
var file = ShellFile.FromFilePath("your image.jpg");
using (var writer = file.Properties.GetPropertyWriter())
{
writer.WriteProperty(file.Properties.System.Comment, "hello");
}
그러나 이미지의 경우 셸은 파일 자체에 추가 속성을 쓸 수 없습니다. JPG를 제외한 대부분의 이미징 코덱은 이러한 '주석'메타 데이터를 지원하지 않습니다.
static void Main(string[] args)
{
var storage = new CompoundStorage("your image.png", false); // open for write
storage.Properties.Comments = "hello"; // change well-known "comments" property
storage.CommitChanges();
}
그것은 작동하고 파일에없는 stricly 속성 정보를 쓸 수 있지만 NTFS (에 순수한에도 작동합니다 : 내가이 경우 제안하는이 CodeFluentRuntime nuget 패키지의 CompoundStorage
클래스를 사용하고, 여기에 예입니다 일반 .txt 파일). 파일을 다시 읽고 모든 속성을 검색 할 경우, 다음과 같이, 당신은 그것을 볼 수 :
이제
static void Main(string[] args)
{
var storage = new CompoundStorage("consent.png"); // open for read
foreach (var prop in storage.Properties)
{
Console.WriteLine(prop.Name + "=" + prop.Value);
}
}
문제는 Windows, 당신이 표시되지 않습니다 귀하의 질문에 표시 쉘 속성 시트의 최신 버전입니다 Comments 속성 (예 : Windows 10에서 실행 중이며 제대로 작성되었지만 표시되지 않습니다). 불행히도 이미지 파일에는 다른 많은 옵션이 없습니다.
보기 : [link] (http://dejanstojanovic.net/aspnet/2014/november/adding-extra-info-to-an-image-file/) – Legends
아니요 그가 필요로하는 것과 다릅니다 1) 링크에서 모든 이미지를 다운로드하십시오. 그것은 tiff, jpg, png 등이 될 수 있습니다. 2) 이미지 원시 데이터를 읽으려면 이미지를 디코딩해야합니다. 3) 원시 데이터와 u가 참조를 제공 한 메타 데이터를 포함하는 jpg를 생성해야합니다. –