แยกข้อมูลเมตาจากรูปภาพโดยใช้ C#

คุณสามารถเพิ่ม แก้ไข ลบ หรือแยกรายละเอียดรูปภาพ เช่น ความสูง ความกว้าง การสร้างแบบจำลอง ฯลฯ ที่จัดเก็บในรูปแบบของข้อมูลเมตาโดยทางโปรแกรม ในฐานะนักพัฒนา C# คุณสามารถแยกและจัดการข้อมูลเมตาของรูปภาพโดยทางโปรแกรมบนคลาวด์ได้อย่างง่ายดาย ในบทความนี้ คุณจะได้เรียนรู้วิธีแยกและจัดการข้อมูลเมตาของรูปภาพโดยใช้ REST API ใน C#

หัวข้อต่อไปนี้จะกล่าวถึง/ครอบคลุมในบทความนี้:

การจัดการข้อมูลเมตาของเอกสาร REST API และ .NET SDK

สำหรับการจัดการข้อมูลเมตาของรูปภาพ JPEG ฉันจะใช้ API ของ .NET SDK of GroupDocs.Metadata Cloud อนุญาตให้คุณเพิ่ม แก้ไข ดึงข้อมูล และลบคุณสมบัติเมตาดาต้าออกจากเอกสารและรูปแบบไฟล์รูปภาพ คุณเพียงแค่กำหนดเกณฑ์การค้นหาและข้อมูลเมตา Cloud REST API จะดูแลการดำเนินการข้อมูลเมตาที่ระบุภายใน รูปแบบไฟล์ที่รองรับ นอกจากนี้ยังมี Java SDK เป็น สมาชิกในครอบครัวการจัดการข้อมูลเมตาของเอกสาร สำหรับ Cloud API

คุณสามารถติดตั้ง GroupDocs.Metadata ในโครงการ Visual Studio ของคุณได้จาก NuGet Package Manager หรือใช้คำสั่งต่อไปนี้ในคอนโซล Package Manager:

Install-Package GroupDocs.Metadata-Cloud

โปรดรับรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ของคุณจาก แดชบอร์ด ก่อนที่คุณจะเริ่มทำตามขั้นตอนและตัวอย่างโค้ดที่มีอยู่ เมื่อคุณมีรหัสไคลเอ็นต์และรหัสลับแล้ว ให้เพิ่มรหัสตามที่แสดงด้านล่าง:

string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";

Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

เพิ่มข้อมูลเมตาให้กับรูปภาพโดยใช้ REST API ใน C#

คุณสามารถเพิ่มข้อมูลเมตาลงในรูปภาพได้โดยทำตามขั้นตอนง่ายๆ ด้านล่าง:

อัปโหลดรูปภาพ

ประการแรก อัปโหลดไฟล์ JPEG บนคลาวด์โดยใช้ตัวอย่างโค้ดที่ระบุด้านล่าง:

// การเริ่มต้น API
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";

var file = Directory.GetFiles(path, "input.jpg", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
    var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

    var fileStream = File.Open(file, FileMode.Open);

    fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
    fileStream.Close();
}

ด้วยเหตุนี้ ไฟล์ภาพ JPEG ที่อัปโหลดจะอยู่ใน ส่วนไฟล์ ของแดชบอร์ดของคุณบนระบบคลาวด์

เพิ่มข้อมูลเมตาลงในรูปภาพโดยใช้ C#

คุณสามารถเพิ่มข้อมูลเมตาให้กับรูปภาพ JPEG โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง

  • สร้างอินสแตนซ์ของ MetadataApi
  • กำหนดเส้นทางไฟล์ภาพ JPEG ในโมเดล FileInfo
  • กำหนด AddOptions
  • ตั้งค่าและเกณฑ์การค้นหาสำหรับคุณสมบัติโดยใช้โมเดล AddProperty
  • สร้าง AddRequest ด้วย AddOptions
  • รับผลลัพธ์โดยเรียกเมธอด MetadataApi.Add()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มข้อมูลเมตาให้กับรูปภาพ JPEG โดยใช้ REST API

// การเริ่มต้น API
var apiInstance = new MetadataApi(configuration);

// เส้นทางภาพเข้า
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// กำหนดตัวเลือกการเพิ่มข้อมูลเมตา
var options = new AddOptions
{
    FileInfo = fileInfo,
    Properties = new List<AddProperty>
    {
        new AddProperty
        {
            Value = "All rights reserved.",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                TagOptions = new TagOptions
                {
                    PossibleName = "Copyright"
                }
            },
        }
    }
};

// เพิ่มคำขอ
var request = new AddRequest(options);
var response = apiInstance.Add(request);
เพิ่มข้อมูลเมตาจากรูปภาพโดยใช้ REST API ใน C#

เพิ่มข้อมูลเมตาจากรูปภาพโดยใช้ REST API ใน C#

ดาวน์โหลดรูปภาพ

ตัวอย่างโค้ดด้านบนจะบันทึกไฟล์ JPEG ที่อัปเดตบนคลาวด์และสามารถดาวน์โหลดได้โดยใช้ตัวอย่างโค้ดต่อไปนี้:

// การเริ่มต้น API
var fileApi = new FileApi(configuration);

// เส้นทางเริ่มต้น
var file = "metadata\\add_metadata\\input_jpg\\input.jpg";

// คำขอดาวน์โหลด
var downloadRequest = new DownloadFileRequest(file, myStorage);

Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\input.jpg"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

อัปเดตข้อมูลเมตาของรูปภาพโดยใช้ C#

คุณสามารถอัปเดตข้อมูลเมตาของภาพ JPEG โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง

  • สร้างอินสแตนซ์ของ MetadataApi
  • กำหนดเส้นทางไฟล์ภาพ JPEG ในโมเดล FileInfo
  • กำหนด SetOptions
  • ตั้งค่า NewValue และ SearchCriteria สำหรับคุณสมบัติโดยใช้โมเดล SetProperty
  • สร้าง SetRequest ด้วย SetOptions
  • รับผลลัพธ์โดยเรียกเมธอด MetadataApi.Set()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีตั้งค่าข้อมูลเมตาของรูปภาพ JPEG โดยใช้ REST API โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดและดาวน์โหลดไฟล์

// การเริ่มต้น API
var apiInstance = new MetadataApi(configuration);

// เส้นทางภาพเข้า
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// กำหนดตัวเลือกชุดข้อมูลเมตา
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "Copyright 2021",
            SearchCriteria = new SearchCriteria
            {
                TagOptions = new TagOptions
                {
                    PossibleName = "Copyright"
                }
            },
            Type = "String"
        }
    }
};

// คำขออัปเดต
var request = new SetRequest(options);
var response = apiInstance.Set(request);
อัปเดตข้อมูลเมตาจากรูปภาพโดยใช้ REST API ใน C#

อัปเดตข้อมูลเมตาจากรูปภาพโดยใช้ REST API ใน C#

ลบข้อมูลเมตาออกจากรูปภาพโดยใช้ C#

คุณสามารถลบข้อมูลเมตาออกจากภาพ JPEG โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง

  • สร้างอินสแตนซ์ของ MetadataApi
  • กำหนดเส้นทางไฟล์ภาพ JPEG ในโมเดล FileInfo
  • กำหนด RemoveOptions
  • กำหนดเกณฑ์การค้นหา
  • สร้าง RemoveRequest ด้วย RemoveOptions
  • รับผลลัพธ์โดยเรียกเมธอด MetadataApi.Remove()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีลบข้อมูลเมตาออกจากรูปภาพ JPEG โดยใช้ REST API โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดและดาวน์โหลดไฟล์

// การเริ่มต้น API
var apiInstance = new MetadataApi(configuration);

// เส้นทางภาพเข้า
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// กำหนดตัวเลือกการลบข้อมูลเมตา
var options = new RemoveOptions
{
    FileInfo = fileInfo,
    SearchCriteria = new SearchCriteria
    {
        TagOptions = new TagOptions
        {
            PossibleName = "Copyright"
        }
    }
};

// ลบคำขอ
var request = new RemoveRequest(options);
var response = apiInstance.Remove(request);
ลบข้อมูลเมตาออกจากรูปภาพโดยใช้ REST API ใน C#

ลบข้อมูลเมตาออกจากรูปภาพโดยใช้ REST API ใน C#

แยกข้อมูลเมตาจากรูปภาพโดยใช้ C#

คุณสามารถแยกข้อมูลเมตาจากภาพ JPEG โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง

  • สร้างอินสแตนซ์ของ MetadataApi
  • กำหนดเส้นทางไฟล์ภาพ JPEG ในโมเดล FileInfo
  • กำหนด ExtractOptions
  • สร้าง ExtractRequest ด้วย ExtractOptions
  • รับผลลัพธ์โดยเรียกเมธอด MetadataApi.Extract()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดึงข้อมูลเมตาจากรูปภาพ JPEG โดยใช้ REST API โปรดทำตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เพื่ออัปโหลดไฟล์

// การเริ่มต้น API
var apiInstance = new MetadataApi(configuration);

// ไฟล์ต้นฉบับ
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.jpg"
};

// แยกตัวเลือก
var options = new ExtractOptions
{
    FileInfo = fileInfo
};

// แยกคำขอ
var request = new ExtractRequest(options);
var response = apiInstance.Extract(request);

// ข้อมูลเมตาที่แยกออกมา
if (response.MetadataTree.InnerPackages != null)
{
    var innerPackages = response.MetadataTree.InnerPackages;
   for (int i = 0; i < innerPackages.Count; i++)
    {
        Console.WriteLine($"\nPackage: {innerPackages[i].PackageName}");
        var packageProperties = innerPackages[i].PackageProperties;
       for (int j = 0; j < packageProperties.Count; j++)
        {
            Console.WriteLine(packageProperties[j].Name + " : " + packageProperties[j].Value);
        }
    }
}
ข้อมูลเมตาของรูปภาพ

ข้อมูลเมตาของรูปภาพ

ตัวอย่างโค้ดด้านบนจะสร้างผลลัพธ์ต่อไปนี้:

Package: FileFormat
FileFormat : 9
MimeType : image/jpeg
ByteOrder : 1
Width : 480
Height : 360

Package: Xmp
http://ns.microsoft.com/photo/1.0/ :

Package: Exif
Exif.GpsIfd :
Exif.ExifIfd :
Make : Canon
Model : Canon PowerShot S40
Orientation : System.Int32[]
XResolution : System.Double[]
YResolution : System.Double[]
ResolutionUnit : System.Int32[]
DateTime : 2003:12:14 12:01:44
YCbCrPositioning : System.Int32[]
ExifIfd : System.Int64[]
Exif.Thumbnail : System.Byte[] 

ลองออนไลน์

โปรดลองใช้เครื่องมือออนไลน์ฟรีในการจัดการข้อมูลเมตา JPEG ต่อไปนี้ ซึ่งพัฒนาโดยใช้ API ข้างต้น https://products.groupdocs.app/metadata/jpeg

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีเพิ่ม แก้ไข ลบ และดึงข้อมูลเมตาจากรูปภาพบนคลาวด์ บทความนี้ยังอธิบายวิธีการอัปโหลดไฟล์ภาพ JPEG บนคลาวด์โดยทางโปรแกรมและดาวน์โหลดจากคลาวด์ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ GroupDocs.Metadata Manipulation Cloud API โดยใช้ เอกสารประกอบ นอกจากนี้ เรายังมีส่วน การอ้างอิง API ที่ช่วยให้คุณแสดงภาพและโต้ตอบกับ API ของเราได้โดยตรงผ่านเบราว์เซอร์ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย