我目前正在使用以下代码从本地文件创建一个google.cloud.vision.v1.image
var image = Image.FromFile(path);
为了节省带宽和处理时间,在将图像发送进行处理之前,我需要调整此图像的大小。我可以调整一个System.Drawing.Bitmap,但是我该如何从此Bitmap创建google.cloud.vision.v1.image?
有人能否指向该类的文档?
我目前正在使用以下代码从本地文件创建一个google.cloud.vision.v1.image
var image = Image.FromFile(path);
Google.Cloud.Vision.V1.Image
的FromFile()
方法,而不是.NET的System.Drawing.Image
。
Google的Image类只是一个包装器,允许您调用他们的服务。它不包含调整大小的方法或类似的方法。
因此,您需要调整本地图像的大小,然后将其写入所需格式的流中,然后从流构造Google的Image类。
代码如下:
System.Drawing.Image sourceImage = System.Drawing.Image.FromFile(path);
System.Drawing.Image resizedImage = ResizeImage(sourceImage, width: 800, height: 600);
System.IO.Stream imageStream = resizedImage.ToStream(ImageFormat.Jpeg);
Google.Cloud.Vision.V1.Image resizedImageToUpload = Google.Cloud.Vision.V1.FromStream(imageStream);
当然,在这里或那里你需要使用 using() { ... }
或者 Dispose()
。
FileStream
将其写入磁盘。 - CodeCaster
Google.Cloud.Vision.V1.Image.FromStream()
有什么问题吗? - haim770System.Drawing.Bitmap
创建它吗? - techno