在C#中保存时在图像元数据中设置软件名称

时间:2012-04-06 09:06:10

标签: c# .net system.drawing.imaging

尝试使用我在元数据中设置的软件名称保存图像时,我得到异常“指定的BitmapEncoder不支持全局元数据。”

我怎样才能做到这一点?

using (Stream stream = File.Create(@"D:\Yourfile.png"))
{
        RenderTargetBitmap rtb = new RenderTargetBitmap(600, 400, 300, 300, PixelFormats.Pbgra32);
        DrawingVisual dv = new DrawingVisual();
        //draw on drawing visual
        rtb.Render(dv);

        BitmapEncoder encoder = null; 
        BitmapMetadata metadata = null; 

        encoder = new JpegBitmapEncoder();
        ((JpegBitmapEncoder)encoder).QualityLevel = 90;
        metadata = new BitmapMetadata("jpg");
        metadata.ApplicationName = "My Software Name";
        encoder.Metadata = metadata;
        BitmapFrame bitmapFrame = BitmapFrame.Create(rtb);
        encoder.Frames.Add(bitmapFrame);
        encoder.Save(stream);
}

1 个答案:

答案 0 :(得分:0)

在此网址http://code.google.com/p/exif-utils/上,您可以找到图片的API