System.Windows.Media.Imaging是否使用DirectX(如WPF)或GDI +?

时间:2009-07-16 20:02:23

标签: directx gdi+ tiff system.drawing

首先,我使用SSRS渲染TIFF文档并发现虽然可以将颜色深度参数传递给SSRS 2005或2008,但它会丢弃它并始终生成24bpp文件。没有运气,得到这个由SSRS渲染方法生成的24bpp文件,将其加载到System.Drawing.Bitmap对象上并成功将其缩放为1728像素乘2347像素,204dpi乘196dpi(11.50英寸乘8.82英寸),但绘制时失败到一个新的单色(双色)System.Drawing.Bitmap对象。 .Net接受创建1bpp索引文件,但没有提供颜色深度转换,所以我不得不编写一个自定义c#函数来实现它。在缩放,更改分辨率和更改颜色深度后,我将System.Drawing.Bitmap对象保存到文件中,发现标记254(NewSubfileType)具有无效值0而不是2(FILETYPE_PAGE),标记266(FillOrder)丢失并且位图内容分布在多个条带上。看看Encoder和EncoderParameters,发现没有办法改变Bitmap Save和SaveAdd方法,以便它们以正确的格式(tiff-f)生成一个我需要的文件。现在,厌倦了System.Drawing + GDI +,发现了这个System.Windows.Media.Imaging。它是否也受到GDI +的困扰或使用新的DirectX技术,并且可以让我以一种轻松生成兼容的tiff-f文件的方式驱动它?

1 个答案:

答案 0 :(得分:0)

尝试在该程序集上运行Reflector并深入查看该代码以查找。您还可以设置Visual Studio,以便在执行该代码时在调试器中逐步执行.NET源。