无法将system.drawing.image类型隐式转换为system.windows.controls.image

时间:2012-04-28 14:19:21

标签: c# .net wpf barcode

我正在创建一个WPF应用程序。我使用条形码库生成每个员工ID的条形码。但是当我尝试将条形码图像分配给Image Control时,它会显示以下错误:
无法将system.drawing.image类型隐式转换为system.windows.controls.image
这是我的代码:

public partial class Card : Window
{
    private PrintDialog dialog;
    Image myimg;

    public Card(String a, String b, String c, String d, String e, String f, String g, String h, String i)
    {
        InitializeComponent();
        myimg = Code128Rendering.MakeBarcodeImage(h, 2, true);
        image2 = myimg;
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        dialog = new PrintDialog();
        dialog.PrintVisual(canvas1, "Employee Card");
    }
}

请帮帮我。

1 个答案:

答案 0 :(得分:1)

错误应该非常明显,字段myImgimage2属于system.windows.controls.image类型,而该方法会创建system.drawing.image

在不知道该字段的目的的情况下,很难说你应该做什么,但如果你只想要一个引用,你需要限定类型或更改你的using语句不包括控件命名空间。

e.g。有资格参考:

System.Drawing.Image myImg;

如果image2导致错误,您可能希望将drawing.image转换为某种类型的ImageSource(它是基本WPF图像类型)并将其分配给{{1}而是Source。如果你不知道怎么做,我相信在某个地方有关于这种转换的问题。