Chuyển đổi hình ảnh màu sang đen trắng là một kỹ thuật phổ biến trong nhiếp ảnh và thiết kế trong nhiều thập kỷ. Trong khi màu sắc có thể tăng thêm sự sống động, nó cũng có thể làm mất đi các yếu tố cốt lõi của hình ảnh. Chuyển đổi đen trắng cho phép bạn tập trung vào bố cục, độ tương phản và kết cấu, làm nổi bật các chi tiết tinh tế hơn có thể bị mất trong một cảnh đầy màu sắc.
Sự chuyển đổi này đặc biệt hữu ích trong nhiếp ảnh chuyên nghiệp, in ấn và nhiều ứng dụng thiết kế khác, nơi mà sự đơn giản và rõ ràng là yếu tố quan trọng.
API chuyển đổi hình ảnh
Bạn có thể chuyển đổi, chỉnh sửa hoặc thao tác với hình ảnh BMP, GIF, JPEG, PSD, TIFF, WEBP, PNG và các [định dạng tệp được hỗ trợ] khác 12 bằng Aspose.Imaging Cloud. Các tổ chức có cơ sở dữ liệu hình ảnh khổng lồ thích giữ lại hình ảnh thang độ xám để cân nhắc kích thước. Ví dụ, một số cơ quan thực thi pháp luật sẽ coi các đặc điểm khuôn mặt và hình học là quan trọng hoặc hiệu quả hơn so với màu sắc. Chúng ta hãy xem xét các API có sẵn để chuyển đổi hình ảnh màu thực sang thang độ xám bằng API Aspose.Imaging Cloud.
| API | Mô tả |
| —————————– | —————- |
| GET /imaging/{name}/grayscale | Chuyển đổi hình ảnh hiện có thành màu xám |
| POST /imaging/grayscale | Chuyển đổi hình ảnh thành màu xám. Dữ liệu hình ảnh được truyền dưới dạng nội dung multipart/form-data có chỉ mục bằng không hoặc dưới dạng luồng body thô |
Đoạn mã C# .NET sau đây cho phép bạn chuyển đổi hình ảnh sang đen trắng:
// Nhận AppKey và AppSID từ https://dashboard.aspose.cloud/
// Cài đặt gói Nuget Aspose.Imaging-Cloud
// Để biết ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
const string MyAppKey = "";
const string MyAppSid = "";
this.ImagingApi = new ImagingApi(MyAppKey, MyAppSid, "https://api.aspose.cloud/", "v3.0", false);
const string SaveImageFormat = "bmp";
string fileName = "Test.bmp";
// Tải hình ảnh cục bộ lên Cloud Storage
using (FileStream localInputImage = File.OpenRead(fileName))
{
var uploadFileRequest = new UploadFileRequest(fileName, localInputImage);
FilesUploadResult result = this.ImagingApi.UploadFile(uploadFileRequest);
}
string folder = null;
string storage = null; // using default Cloud Storage
var request = new GrayscaleImageRequest(fileName, folder, storage);
Console.WriteLine($"Call Grayscale Image");
using (Stream updatedImage = this.ImagingApi.GrayscaleImage(request))
{
// Tải hình ảnh đã cập nhật lên Cloud Storage
string outPath = "Grayscale_out." + SaveImageFormat;
var uploadFileRequest = new UploadFileRequest(outPath, updatedImage);
FilesUploadResult result = this.ImagingApi.UploadFile(uploadFileRequest);
}
Đoạn mã này tải tệp đầu vào từ bộ nhớ cục bộ lên bộ nhớ đám mây và sau đó chuyển đổi hình ảnh RGB thành hình ảnh thang độ xám. API lưu hình ảnh thang độ xám đầu ra trong bộ nhớ đám mây trông giống như ảnh chụp màn hình bên dưới:
Hình ảnh đầu vào
Hình ảnh đầu ra
Chúng ta hãy xem xét một kịch bản khác trong đó tệp nguồn được truyền trong yêu cầu và phản hồi chứa một hình ảnh thang độ xám đã chuyển đổi được lưu trong bộ nhớ cục bộ. Cách tiếp cận này không cần tải lên hoặc tải xuống hình ảnh từ bộ nhớ đám mây. Dưới đây là đoạn mã C# dựa trên quy trình làm việc này:
// Nhận AppKey và AppSID từ https://dashboard.aspose.cloud/
// Cài đặt gói Nuget Aspose.Imaging-Cloud
// Để biết ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
Console.WriteLine("Grayscales the image from request body");
const string MyAppKey = "";
const string MyAppSid = "";
this.ImagingApi = new ImagingApi(MyAppKey, MyAppSid, "https://api.aspose.cloud/", "v3.0", false);
const string SaveImageFormat = "png";
string fileName = "WaterMark.png";
using (FileStream inputImageStream = File.OpenRead(ImagingBase.PathToDataFiles + fileName))
{
string storage = null; // We are using default Cloud Storage
string outPath = null; // Path to updated file (if this is empty, response contains streamed image)
var request = new CreateGrayscaledImageRequest(inputImageStream, outPath, storage);
Console.WriteLine($"Call CreateGrayscale Image");
using (Stream updatedImage = this.ImagingApi.CreateGrayscaledImage(request))
{
SaveUpdatedSampleImageToOutput(updatedImage, true, SaveImageFormat);
}
}
Bạn có thắc mắc về việc làm việc với cùng một tính năng trong các ngôn ngữ lập trình khác không? Đừng lo lắng, Aspose.Imaging Cloud SDK có sẵn cho tất cả các ngôn ngữ phổ biến, do đó bạn có thể dễ dàng gọi API từ các nền tảng yêu thích của mình. Hơn nữa, chúng tôi cũng đã chuyển hình ảnh sang các ví dụ chuyển đổi thang độ xám sang các ngôn ngữ được hỗ trợ bao gồm Python, Java, PHP, Node.js và Ruby.
Aspose.Imaging Cloud API có thể đưa ứng dụng của bạn tiến thêm một bước lên cấp độ tiếp theo. Nhiều bản sửa lỗi và bảo trì khác cũng là một phần của bản phát hành này; bao gồm một số bản sửa lỗi ngoại lệ và cải tiến cho việc xuất hình ảnh nhiều trang. Bạn có thể xem tổng quan tại Ghi chú phát hành để biết thêm chi tiết. Bạn có thể Đăng ký miễn phí và bắt đầu tìm hiểu API ngay hôm nay.
Liên kết hữu ích
]