小编Lad*_*gic的帖子

DrawingContext到Bitmap文件

我有一个DrawingContext(Visual或DrawingGroup的一部分),我在其中绘制一堆矩形和/或1位图像.可以将其视为屏蔽1位图像.我想将其转换为位图图像文件.

使用RenderTargetBitmap不是一个选项,因为它只能以32位像素格式渲染,所以如果我必须渲染一个20MB的1位图像,我的堆上最终会得到640MB(20*32)的内存.这当然会产生宏伟的LOH碎片,并且应用程序在第二次拍摄时会耗尽内存.

所以,我基本上需要一种方法来有效地从绘图上下文中写入1位位图文件.任何想法/建议/替代方法将不胜感激.

.net c# wpf rendertargetbitmap drawingcontext

10
推荐指数
2
解决办法
3899
查看次数

有效地序列化锯齿状字节数组

我有一个DataMember返回的锯齿状数组,byte[800][10000][1]转换为~8MB的数据.使用DataContractSerializer它进行序列化时,二进制文件大小为120MB,文本大小为300MB.查看文本序列化,它表示它在每个字节值周围放置一个标记,以指示它的base64编码值等,这可能是此大小放大的原因.

什么是使用DataContractSerializer(或任何其他序列化器)序列化大型锯齿状blob的有效方法

使用Text序列化时的片段XML输出:

<a:ArrayOfbase64Binary><a:base64Binary>CQ==</a:base64Binary><a:base64Binary>Bw==</a:base64Binary><a:base64Binary>BQ==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AQ==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>BA==</a:base64Binary><a:base64Binary>Bg==</a:base64Binary><a:base64Binary>CA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary><a:base64Binary>AA==</a:base64Binary>
Run Code Online (Sandbox Code Playgroud)

.net c# wcf datacontractserializer

5
推荐指数
1
解决办法
625
查看次数