开发者社区 问答 正文

.NET-SDK之如何实现图片处理(二)?


基础操作


图片处理的基础操作包括, 获取图片信息格式转换缩放裁剪旋转效果水印等。 public static void ImageProcess(string bucketName)
{
    try
    {
        client.PutObject(bucketName, key, imageFile);
        // 图片缩放
        var process = "image/resize,m_fixed,w_100,h_100";
        var ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-resize.jpg", ossObject.Content);
        // 图片裁剪
        process = "image/crop,w_100,h_100,x_100,y_100,r_1";
        ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-crop.jpg", ossObject.Content);
        // 图片旋转
        process = "image/rotate,90";
        ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-rotate.jpg", ossObject.Content);
        // 图片锐化
        process = "image/sharpen,100";
        ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-sharpen.jpg", ossObject.Content);
        // 图片加水印
        process = "image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ";
        ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-watermark.jpg", ossObject.Content);
        // 图片格式转换
        process = "image/format,png";
        ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-format.png", ossObject.Content);
        // 图片信息
        process = "image/info";
        ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-info.txt", ossObject.Content);
        Console.WriteLine("Get Object:{0} with process:{1} succeeded ", key, process);
    }
    catch (OssException ex)
    {
        Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
            ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Failed with error info: {0}", ex.Message);
    }
}



自定义样式
public static void ImageProcess(string bucketName)
{
    try
    {
        client.PutObject(bucketName, key, imageFile);
        // 自定义样式
        var process = "style/oss-pic-style-w-100";
        var ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-style.jpg", ossObject.Content);
    }
    catch (OssException ex)
    {
        Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
            ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Failed with error info: {0}", ex.Message);
    }
}



级联处理
public static void ImageProcess(string bucketName)
{
    try
    {
        client.PutObject(bucketName, key, imageFile);
        // 级联处理
        var process = "image/resize,m_fixed,w_100,h_100/rotate,90";
        var ossObject = client.GetObject(new GetObjectRequest(bucketName, key, process));
        WriteToFile(dirToDownload + "/sample-style.jpg", ossObject.Content);
    }
    catch (OssException ex)
    {
        Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
            ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Failed with error info: {0}", ex.Message);
    }
}


图片处理工具

  • 可视化图片处理工具 ImageStyleViever ,可以直观的看到OSS图片处理的结果
  • OSS图片处理的功能、使用演示 页面

展开
收起
青衫无名 2017-10-19 09:29:48 1751 分享 版权
0 条回答
写回答
取消 提交回答