【问题标题】:Creating tiff image at runtime in WPF在 WPF 中运行时创建 tiff 图像
【发布时间】:2012-05-03 21:32:49
【问题描述】:

我正在尝试在运行时生成一个简单的 tiff 图像。此图片由白色背景和从远程服务器下载的图片组成。

这是我为实现该目标而编写的代码:

        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”文件。但是输出文件只有白色背景,没有从远程服务器接收到图像。

可能是什么问题?我以各种方式尝试了以下代码,但每次都没有运气。

【问题讨论】:

    标签: wpf tiff


    【解决方案1】:

    我发现这篇关于 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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多