欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

新版上线!解析PSD文件管理控件Aspose.PSD实用功能——色彩平衡调整层

程序员文章站 2023-10-29 12:22:10
Aspose.PSD for .NET高级PSD文件格式操作API,没有任何Adobe Photoshop依赖项。API允许创建或编辑Photoshop文件,并提供更新图层属性,添加水印,执行图形操作或将一种文件格式转换为另一种文件的功能。 近日,Aspose.PSD for .NET更新至最新版本 ......

aspose.psd for .net高级psd文件格式操作api,没有任何adobe photoshop依赖项。api允许创建或编辑photoshop文件,并提供更新图层属性,添加水印,执行图形操作或将一种文件格式转换为另一种文件的功能。

近日,aspose.psd for .net更新至最新版本v19.10,新增支持包括psd的bicubic重采样,反转和色彩平衡调整层支持。究竟应该如何操作呢?我们一起来看一看新功能详解吧!


实施双三次重采样

重新采样意味着您应该更改图像的像素尺寸。下采样时,实际上是在消除像素,因此会从图像中删除信息和细节。向上采样时,您将添加像素并增强细节。photoshop通过使用插值来添加这些像素。在下面的示例中,我们演示了如何通过使用.net的aspose.psd来执行双三次重采样。

 

//在运行时添加颜色叠加层效果
string datadir = runexamples.getdatadir_psd();


string sourcefile = datadir + "sample_bicubic.psd";
string destnamecubicconvolution = datadir + "resamplercubicconvolutionstripes_after.psd";

//将现有图像加载到psdimage类的实例中
using (psdimage image = (psdimage)image.load(sourcefile))
{
    image.resize(300, 300, resizetype.cubicconvolution);
    image.save(destnamecubicconvolution, new psdoptions(image));
}

   
string destnamecatmullrom = datadir + "resamplercatmullromstripes_after.psd";

//将现有图像加载到psdimage类的实例中
using (psdimage image = (psdimage)image.load(sourcefile))
{
    image.resize(300, 300, resizetype.catmullrom);
    image.save(destnamecatmullrom, new psdoptions(image));
}

          
string destnamemitchell = "resamplermitchellstripes_after.psd";

// 将现有图像加载到psdimage类的实例中
using (psdimage image = (psdimage)image.load(sourcefile))
{
    image.resize(300, 300, resizetype.mitchell);
    image.save(destnamemitchell, new psdoptions(image));
}

           
string destnamecubicbspline = "resamplercubicbsplinestripes_after.psd";

//将现有图像加载到psdimage类的实例中
using (psdimage image = (psdimage)image.load(sourcefile))
{
    image.resize(300, 300, resizetype.cubicbspline);
    image.save(destnamecubicbspline, new psdoptions(image));
}

           
string destnamesinc = "resamplersincstripes_after.psd";

//将现有图像加载到psdimage类的实例中
using (psdimage image = (psdimage)image.load(sourcefile))
{
    image.resize(300, 300, resizetype.sinc);
    image.save(destnamesinc, new psdoptions(image));
}

           
string destnamebell = "resamplerbellstripes_after.psd";

// 将现有图像加载到psdimage类的实例中
using (psdimage image = (psdimage)image.load(sourcefile))
{
    image.resize(300, 300, resizetype.bell);
    image.save(destnamebell, new psdoptions(image));
}

 

色彩平衡调整层

色彩平衡调整层使您能够调整其图像的色彩。它显示了三个颜色通道及其互补色,您可以调整这两个颜色对的平衡以更改图像的外观。本文演示了aspose.psd for .net 在图像上执行“ 颜色平衡”调整层的用法。

 

//在运行时添加颜色叠加层效果
string datadir = runexamples.getdatadir_psd();


var filepath = datadir + "colorbalance.psd";
var outputpath = datadir + "colorbalance_out.psd";
using (var im = (fileformats.psd.psdimage)image.load(filepath))
{
    foreach (var layer in im.layers)
    {
        var cblayer = layer as colorbalanceadjustmentlayer;
        if (cblayer != null)
        {
            cblayer.shadowscyanredbalance = 30;
            cblayer.shadowsmagentagreenbalance = -15;
            cblayer.shadowsyellowbluebalance = 40;
            cblayer.midtonescyanredbalance = -90;
            cblayer.midtonesmagentagreenbalance = -25;
            cblayer.midtonesyellowbluebalance = 20;
            cblayer.highlightscyanredbalance = -30;
            cblayer.highlightsmagentagreenbalance = 67;
            cblayer.highlightsyellowbluebalance = -95;
            cblayer.preserveluminosity = true;
        }
    }

    im.save(outputpath);
}

如果您有任何需求,请随时加入aspose技术交流群(642018183)