代码之家  ›  专栏  ›  技术社区  ›  eflorico

绘制放置阴影

  •  2
  • eflorico  · 技术社区  · 16 年前

    我想在图像文件中添加投影。最好的方法是什么? 我考虑过创建一个WPF图像控件并添加位图效果。但是如何将结果保存到文件中呢?

    谢谢,埃里克

    1 回复  |  直到 12 年前
        1
  •  2
  •   Uwe Keim    12 年前

    可以使用renderTargetBitmap和编码器执行此操作。编码器可以是PNG、JPEG等。 下面的代码imgcontrol代表您的图像控制。但由于它是位图效果,您可能需要将此图像放入网格中,并提供与Dropshadow等效的适当边距,然后在下面的代码中使用网格而不是imgControl。

    double Height = imgControl.ActualHeight;
    double Width = imgControl.ActualWidth;
    
    RenderTargetBitmap bmp = new RenderTargetBitmap((int)Width, (int)Height, 
                                                    96, 96, PixelFormats.Pbgra32);
    bmp.Render(imgControl);
    
    BitmapEncoder encoder = new JpegBitmapEncoder();
    
    encoder.Frames.Add(BitmapFrame.Create(bmp));
    
    using (Stream stream = File.Create("Yourfile.jpeg"))
    {
        encoder.Save(stream);
    }
    
    推荐文章