Converter imagens coloridas para preto e branco tem sido uma técnica popular em fotografia e design por décadas. Embora a cor possa adicionar vibração, ela também pode distrair dos elementos principais de uma imagem. A conversão para preto e branco permite que você se concentre na composição, contraste e textura, destacando os detalhes mais sutis que podem se perder em uma cena colorida.
Essa conversão é especialmente útil em fotografia profissional, impressão e diversas aplicações de design onde simplicidade e clareza são essenciais.
API de conversão de imagem
Você pode converter, editar ou manipular imagens BMP, GIF, JPEG, PSD, TIFF, WEBP, PNG e outros formatos de arquivo suportados usando Aspose.Imaging Cloud. Organizações com enormes bancos de dados de imagens preferem manter imagens em tons de cinza por considerações de tamanho. Por exemplo, algumas agências de aplicação da lei considerariam características faciais e geometria tão importantes ou eficientes quanto à cor. Vamos dar uma olhada nas APIs disponíveis para conversão de imagem em cores verdadeiras para tons de cinza com a API Aspose.Imaging Cloud.
| API | Descrição |
| —————————– | —————- |
| GET /imaging/{name}/grayscale | Escala de cinza de uma imagem existente |
| POST /imaging/grayscale | Escala de cinza de uma imagem. Dados de imagem são passados como conteúdo multipart/form-data indexado a zero ou como fluxo de corpo bruto |
O seguinte trecho de código C# .NET permite converter imagens em preto e branco:
// Obtenha AppKey e AppSID de https://dashboard.aspose.cloud/
// Instalar pacote Nuget Aspose.Imaging-Cloud
// Para exemplos completos e arquivos de dados, acesse 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";
// Carregar imagem local para o 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))
{
// Carregar imagem atualizada para o Cloud Storage
string outPath = "Grayscale_out." + SaveImageFormat;
var uploadFileRequest = new UploadFileRequest(outPath, updatedImage);
FilesUploadResult result = this.ImagingApi.UploadFile(uploadFileRequest);
}
Este trecho de código carrega o arquivo de entrada do armazenamento local para o armazenamento em nuvem e, em seguida, converte a imagem RGB em imagem em tons de cinza. A API salva uma imagem em tons de cinza de saída no armazenamento em nuvem que se parece com a captura de tela abaixo:
Imagem de entrada
Imagem de saída
Vamos verificar outro cenário em que o arquivo de origem é passado na solicitação e a resposta contém uma imagem em tons de cinza convertida que é salva no armazenamento local. Essa abordagem não precisa carregar ou baixar a imagem do armazenamento em nuvem. Abaixo está o snippet de código C# com base neste fluxo de trabalho:
// Obtenha AppKey e AppSID de https://dashboard.aspose.cloud/
// Instalar pacote Nuget Aspose.Imaging-Cloud
// Para exemplos completos e arquivos de dados, acesse 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);
}
}
Quer saber como trabalhar com o mesmo recurso em outras linguagens de programação? Não se preocupe, Aspose.Imaging Cloud SDKs estão disponíveis para todas as linguagens populares, para que você possa chamar a API convenientemente de suas plataformas favoritas. Além disso, também portamos imagens para exemplos de conversão em escala de cinza para as linguagens suportadas, incluindo Python, Java, PHP, Node.js e Ruby.
A API do Aspose.Imaging Cloud pode levar seus aplicativos um passo à frente para o próximo nível. Muitas outras correções e manutenções também fazem parte desta versão; incluindo algumas correções de exceção e melhorias para exportação de imagens de várias páginas. Você pode ter uma visão geral em Notas da versão para mais detalhes. Você pode Inscrever-se gratuitamente e começar a aprender a API hoje mesmo.
Links úteis
]