是否可以在.NET中使用这样的图像(没有第三方工具)?

时间:2014-05-27 12:56:28

标签: .net image-processing

是否可以在.NET中平方并导出这样的JPEG图像(没有第三方工具)?

方法是扩展画布(作为白色遮罩),同时保持图像居中并扩展画布的短尺寸,即

如果宽度为300且高度为480,则将画布宽度扩展为480。

ps = new Photoshop.Application();
ps.Preferences.RulerUnits = PsUnits.psPixels;
Console.WriteLine(f.FullName);
ps.Open(f.FullName);

// unlock background to allow canvas resizing
ps.ActiveDocument.ActiveLayer.name = "From Background";
ps.ActiveDocument.ChangeMode(PsChangeMode.psConvertToRGB);

//  resize canvas to square
double width = ps.ActiveDocument.Width;
double height = ps.ActiveDocument.Height;
if (width > height)
{
    ps.ActiveDocument.ResizeCanvas(width, width, 
        PsAnchorPosition.psMiddleCenter);
}
else if (width < height)
{
    ps.ActiveDocument.ResizeCanvas(height, height, 
        PsAnchorPosition.psMiddleCenter);
}

在此之前/之后我在后图像中使用了灰色背景,因此很容易看到,但我会在生产中使用白色遮罩。

BEFORE

AFTER

0 个答案:

没有答案