Aspose.Words for .NET图像处理教程——锁定图像的宽高比并截取图像

翻译|使用教程|编辑:李显亮|2020-01-02 09:34:32.477|阅读 35 次

概述:本文我们将进入关于“图像处理”的介绍,在Aspose.Words中学会如何锁定图像的宽高比并截取图像。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

Aspose.Words For .Net是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件格式,并允许将Word文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。

接下来我们将进入关于“图像处理”的介绍,在Aspose.Words中学会如何锁定图像的宽高比并截取图像。

>>Aspose.Words for .NET更新至最新版v19.12,支持转换为PDF 1.7标准,点击下载体验


获取点的实际形状边界

如果要在页面上呈现形状的实际边界框,可以使用NodeRendererBase.BoundsInPoints属性来实现。下面的代码示例演示如何使用此属性。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
var shape = builder.InsertImage(dataDir + "Test.png");
shape.AspectRatioLocked = false;

dataDir = dataDir + "Shape_AspectRatioLocked_out.doc";

// Save the document to disk.
doc.Save(dataDir);

裁剪图像

图像裁剪通常是指去除图像不需要的外部部分以帮助改善取景。它还用于 去除图像的某些 部分,以增加对特定区域的聚焦。可以使用Aspose.Words API来实现,如下面的示例所示。

string dataDir = RunExamples.GetDataDir_WorkingWithImages();
string inputPath = dataDir + "ch63_Fig0013.jpg";
string outputPath = dataDir + "cropped-1.jpg";

CropImage(inputPath,outputPath, 124, 90, 570, 571);
public static void CropImage(string inPath, string outPath, int left, int top,int width, int height)
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Image img = Image.FromFile(inPath);

    int effectiveWidth = img.Width - width;
    int effectiveHeight = img.Height - height;

    Shape croppedImage = builder.InsertImage(img,
        ConvertUtil.PixelToPoint(img.Width - effectiveWidth),
        ConvertUtil.PixelToPoint(img.Height - effectiveHeight));

    double widthRatio = croppedImage.Width / ConvertUtil.PixelToPoint(img.Width);
    double heightRatio = croppedImage.Height / ConvertUtil.PixelToPoint(img.Height);

    if (widthRatio< 1) croppedImage.ImageData.CropRight = 1 - widthRatio; if (heightRatio< 1) croppedImage.ImageData.CropBottom = 1 - heightRatio; float leftToWidth = (float)left / img.Width; float topToHeight = (float)top / img.Height; croppedImage.ImageData.CropLeft = leftToWidth; croppedImage.ImageData.CropRight = croppedImage.ImageData.CropRight - leftToWidth; croppedImage.ImageData.CropTop = topToHeight; croppedImage.ImageData.CropBottom = croppedImage.ImageData.CropBottom - topToHeight; croppedImage.GetShapeRenderer().Save(outPath, new ImageSaveOptions(SaveFormat.Jpeg)); }

还想要更多吗?您可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Aspose.Words for .NET

无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。

在线
客服
在线
QQ
咨询
电话
177-4994-3557
购物车 反馈 返回
顶部
在线客服系统
live chat