首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magick.NET中的内存消耗

Magick.NET中的内存消耗
EN

Stack Overflow用户
提问于 2016-01-12 14:56:11
回答 1查看 1.1K关注 0票数 1

我在一个函数中有以下几行代码。它从Amazon S3读取图像。我正在读取的图像大小是1.37MB,而当我运行分析器时,它显示图像magick库中的读取函数需要5.6MB,这是非常高的。有人能解释这种行为吗?我附上了我的分析器的快照以及代码。

代码语言:javascript
复制
 AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(
                         accessKey,
                         secretKey
                        );

                GetObjectRequest request = new GetObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };

                var response = client.GetObject(request);                
                MagickImage imgStream = new MagickImage(response.ResponseStream);

EN

回答 1

Stack Overflow用户

发布于 2016-01-12 19:55:31

磁盘上的图像大小对于内存中的图像大小并不重要。所需的内存量与图像的尺寸(宽/高)有关。当图像被加载时,原始数据被“转换”为像素数据。对于每个通道,Magick.NET将使用每像素8或16位(Q8/Q16)。因此,当您有一个4通道(RGBA)的图像,并且您使用的是Magick.NET的Q16版本时,您将使用64位/像素。对于1920x1080的图像,您将需要1920*1080*64 = 132710400 bits,这大约是16.5 Megabytes。磁盘上的大小在大多数情况下会更小,因为大多数图像格式在将像素数据保存到磁盘时会对其进行压缩。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34737302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档