gpt4 book ai didi

c# - 流式传输到图像并返回

转载 作者:太空狗 更新时间:2023-10-30 00:27:12 28 4
gpt4 key购买 nike

我将 Stream 转换为 Image,处理该图像,然后返回 FileStream

这是性能问题吗?如果不是,转换和返回流的优化方法是什么?

public FileStream ResizeImage(int h, int w, Stream stream)
{
var img = Image.FromStream(stream);

/* ..Processing.. */

//converting back to stream? is this right?
img.Save(stream, ImageFormat.Png);

return stream;
}

它运行的情况:用户在我的网站上上传图像( Controller 给我一个流,我调整它的大小,然后将这个流发送到 rackspace(Rackspace 需要一个 FileStream)。

最佳答案

你基本上想要这样的东西,不是吗:

public void Resize(Stream input, Stream output, int width, int height)
{
using (var image = Image.FromStream(input))
using (var bmp = new Bitmap(width, height))
using (var gr = Graphics.FromImage(bmp))
{
gr.CompositingQuality = CompositingQuality.HighSpeed;
gr.SmoothingMode = SmoothingMode.HighSpeed;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.DrawImage(image, new Rectangle(0, 0, width, height));
bmp.Save(output, ImageFormat.Png);
}
}

将像这样使用:

using (var input = File.OpenRead("input.jpg"))
using (var output = File.Create("output.png"))
{
Resize(input, output, 640, 480);
}

关于c# - 流式传输到图像并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548028/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com