在WPF中运行时创建tiff图像
我试图在运行时生成一个简单的tiff图像。此图像由白色背景和从远程服务器下载的图像组成 以下是我为实现这一目标而编写的代码:在WPF中运行时创建tiff图像,wpf,tiff,Wpf,Tiff,我试图在运行时生成一个简单的tiff图像。此图像由白色背景和从远程服务器下载的图像组成 以下是我为实现这一目标而编写的代码: const string url = "http://localhost/barcode.gif"; var size = new Size(794, 1123); var drawingVisual = new DrawingVisual(); using (var drawingContext = d
const string url = "http://localhost/barcode.gif";
var size = new Size(794, 1123);
var drawingVisual = new DrawingVisual();
using (var drawingContext = drawingVisual.RenderOpen())
{
drawingContext.DrawRectangle(new SolidColorBrush(Colors.White), null, new Rect(size));
var image = new BitmapImage(new Uri(url));
drawingContext.DrawImage(image, new Rect(0, 0, 180, 120));
}
var targetBitmap = new RenderTargetBitmap((int)size.Width, (int)size.Height, 96, 96, PixelFormats.Default);
targetBitmap.Render(drawingVisual);
var convertedBitmap = new FormatConvertedBitmap(targetBitmap, PixelFormats.BlackWhite, null, 0);
var encoder = new TiffBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(convertedBitmap));
using (var fs = new FileStream("out.tif", FileMode.Create))
{
encoder.Save(fs);
}
代码工作并生成out.tif文件。但输出文件只有白色背景,没有从远程服务器接收到图像
有什么问题吗?我以各种方式尝试了下面的代码,但每次都没有成功。我找到了关于FormatConvertedBitmap类的阅读资料。也许可以试一试
FormatConvertedBitmap newFormatedBitmapSource = new FormatConvertedBitmap();
// BitmapSource objects like FormatConvertedBitmap can only have their properties
// changed within a BeginInit/EndInit block.
newFormatedBitmapSource.BeginInit();
// Use the BitmapSource object defined above as the source for this new
// BitmapSource (chain the BitmapSource objects together).
newFormatedBitmapSource.Source = targetBitmap;
// Set the new format to BlackWhite.
newFormatedBitmapSource.DestinationFormat = PixelFormats.BlackWhite;
newFormatedBitmapSource.EndInit();